如何使用require()捆绑要读取的json文件? jspm mangles名称为.json.js

时间:2016-07-07 09:44:56

标签: javascript json jspm

我正在探索将browserify构建转换为jspm。

browserify会留下如下代码:

require("defaults.json")

完整并找到文件" defaults.json"在源目录中并将其注入一个可由browserify提供的结构require()

jspm反而提供错误:

jspm build main.js bundle.js
Building the bundle tree for main.js...

err  Error on fetch for defaults.json.js at file:///tmp/testapp/defaults.json.js
        Loading main.js
        Error: ENOENT: no such file or directory, open '/tmp/testapp/defaults.json.js'
         at Error (native)

请注意:

  • 错误是ENOENT,没有这样的文件。
  • 因为它增加了" .js"在defaults.json.js电话中显示的文件名,变为defaults.json,而不是require

我尝试使用

为jspm安装json插件
jspm install json

这没有帮助,在构建时返回相同的错误。使用rm -rf ./jspm_packagesjspm install重新安装也会在构建时返回相同的错误。

如何将json文件包含到jspm构建中?

1 个答案:

答案 0 :(得分:0)

正如@Patrick所暗示的那样:

require('defaults.json!')

一旦jspm json插件加载了jspm install json

require('defaults.app!json') 
如果未使用.json扩展名命名JSON格式的文件,则可以使用

jspm Docs为ES6 import清楚地解释了这一点,显然它与require中的文件名语法相同。