用户ES6`import`加载JSON文件?

时间:2017-04-06 23:25:22

标签: javascript json module ecmascript-6

在node.js中,可以使用require:

加载JSON文件
$ node
> let data = require('./data.json')
undefined
> data
[ { a: 1 }, { a: 10 }, { a: 100 } ]

是否可以使用新的ES6 import方法执行此操作?

执行以下操作会很有用:

在data.json中......

[ { a: 1 }, { a: 10 }, { a: 100 } ]

在loader.html中......

<html>
  <head>
    <title>ES6 modules tryout</title>
    <script src="load.js" type="module"></script>
  </head>
  <body>
  </body>
</html>

在load.js ...

import * as data from './data.json'

...但这会导致错误:

Loading failed for the <script> with source “http://localhost/data.json”.

因为在JSON模块中你不能使用exportdefault,是否有某种方法可以从JSON文件导入所有内容并为其命名import,或者我需要坚持使用像这样的异步调用的旧方法吗?

fetch('data.json')
  .then(r => r.json())
  .then(data => /* something with data */)

1 个答案:

答案 0 :(得分:0)

是的,这是可能的,但该功能仍处于试验阶段。使用 followig 命令标志 node --experimental-modules --experimental-json-modules your-filename.mjs

运行您的 Node.js 程序