【问题标题】:How to import an array file into a javascript file如何将数组文件导入 javascript 文件
【发布时间】:2018-12-24 04:41:15
【问题描述】:

我想在括号中创建一个 json 文件,只是为了存储一个包含 200 个元素的数组,并且我希望能够将该文件导入到我的“main.js”文件中,甚至能够使用它虽然数组本身不在“main.js”中了。

我该怎么做?

【问题讨论】:

标签: javascript html arrays json


【解决方案1】:
dummyData.js

export const data = [{}, ......, {}];

main.js

import { data } from './dummyData';

如果你使用的是 vanilla js,没有 es6 特性,你可以这样做:

//dummyData.js

module.exports = [{} ,........, {}];

//main.js

var data = require('./dummyData');

【讨论】:

  • 我收到Uncaught SyntaxError: Cannot use import statement outside a module。我必须在 html 中 <script src=dummydata.js> 还是 main.js 中的 import .. 足够?
【解决方案2】:

你应该首先从一个文件中导出你的 json/array 文件应该类似于 export const myJsonArray = [{...}, {...}, ...]

然后在你的 main.js 中你可以像这样导入 jsonArray import myJsonArray from "{file_path}"

【讨论】:

    【解决方案3】:

    创建一个 JS 文件,比如 dataProvider.js,将您的 json 定义为常量,使其全局编写一个函数将其转换为 JSON 并返回,或者直接返回 JSON。

    现在在您的 main.js 中包含 dataProvider.js,然后您可以访问共享变量。

    确保您正在加载的页面同时导入了 main.js 和 dataProvider.js。

    【讨论】:

      【解决方案4】:

      好的,这是示例: 在演示中,我们将加载数组中的每个对象并创建一个段落。 因为 sn-p 不支持多文件,所以工作演示在这里:

      https://repl.it/@PaulThomas1/DemoForTaho

      我们的 HTML:

      <div id="content"></div>
      <script src="data.js"></script>
      <script src="script.js"></script>
      

      我们的主要 javascript (script.js):

      document.addEventListener("DOMContentLoaded", function() {
      
        let contentDiv = document.getElementById("content");
        let template = document.createElement("template");
      
        data.forEach(dataItem => {
          let element = document.createElement('p');
          element.innerHTML = newPara(dataItem.name);
          contentDiv.appendChild(element);
        });
      
      });
      
      const newPara = (name) => { return `Name: ${name}` };
      

      我们的数据位于data.js

      data = [
        {
          "name" : "bert"
        },
          {
          "name" : "bert11"
        },
          {
          "name" : "bert22"
        },
          {
          "name" : "bert33"
        },
          {
          "name" : "bert44"
        },
          {
          "name" : "bert55"
        },
          {
          "name" : "bert66"
        }
      ];
      

      【讨论】:

        猜你喜欢
        • 2020-08-16
        • 2021-12-06
        • 2017-07-17
        • 2017-12-04
        • 2014-02-22
        • 2016-05-10
        • 2021-02-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多