【问题标题】:How do I use outsourced and editable scripts in Nuxt.js?如何在 Nuxt.js 中使用外包和可编辑的脚本?
【发布时间】:2020-01-08 03:34:05
【问题描述】:

我目前正在使用 Nuxt 开发一个网站。某个javascript 文件在构建后应该是可编辑的,以更改表格的内容。有谁知道我该怎么做?

到目前为止,我尝试将javascript 文件作为插件包含在内,但没有成功。此外,我还未能尝试如下交换脚本:

<!-- my-component.vue -->
<template>
  <div>This is a Text!</div>
</template>
<script src="./my-outsourced-script.js"></script>

目前我的代码如下所示:

Bootstrap-Vue 表:

<b-table
        borderless
        striped
        hover
        responsive
        :sticky-header="stickyHeader"
        :items="folderPermissions"
        :fields="folderGroups"
      >
</b-table>

要换出的内容:

export default {
  data() {
    return {
      stickyHeader: true,
      keyword: '',
      sortBy: 'xxx',
      sortDesc: false,
      folderGroups: [
        {
          key: 'drive',
          stickyColumn: true,
          label: ' ',
          isRowHeader: true
        },
        ...
      ],
      folderPermissions: [
        {
          drive: 'Some Text',
          id: 0,
          a: 1
        },
        ...
      ]
    }
  }
}

我希望在外包的javascript 文件中的上面显示的代码中包含folderGroupsfolderPermissions,以便轻松修改它们并在网站上查看更改。

【问题讨论】:

    标签: javascript vue.js nuxt.js bootstrap-vue


    【解决方案1】:

    像您一样,或者如果您尝试使用 import { folderGroups, folderPermissions} from './my-outsourced-script.js 之类的数据导入您的 js 文件,您将无法更改文件而不重建您的 nuxt 应用程序。

    尝试使用您的文件构建如下:

    {
    "folderGroups": [
        your datas
      ],
    "folderPermissions": [
        your datas
      ]
    }
    

    在你的组件中动态导入:

    data() {
      folderGroups: [],
      folderPermissions: []
    },
    mounted() {
      this.$http.get('/js/my-outsourced-script.json').then((response) => { // no need `assets`
        console.log(response.body)
        this.folderGroups = response.body.folderGroups
        this.folderPermissions = response.body.folderPermissions
      }, function (error) {
        console.log(error.statusText)
      })
    }
    

    【讨论】:

    • 我觉得我有点傻。所以目前我已经像这样插入了你的代码:在我的组件中导出:Pastebin to my componentmy-outsourced-script.js:Pastebin to my js file当我现在运行 nuxt generate 时,由于“ :"
    • 对不起,我太快了。我重构了代码,改用 json。
    • 好的,谢谢!不幸的是,内容仍然没有显示给我。控制台出现如下错误:TypeError: "this.$http is undefined" 会不会是因为我在运行npx nuxt generate
    • $http$axios 的别名,您可以使用$axios 代替。你用axios吗?或者你可以直接使用fetch。将this.$http.get 替换为fetch
    • 抱歉,回答迟了。我现在 fetch 并生成了整个东西。但是,浏览器的控制台中总是出现以下错误:Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at file:///C:/xxx/json/my-outsourced-json.json. (Reason: CORS request not http).我是否必须更改任何内容才能使其在本地工作?
    猜你喜欢
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    相关资源
    最近更新 更多