2017-01-20 100 views
2

我正在寻求获取外部JSON数据的最佳方法。Browserify获取外部JSON数据

我正在使用browserify并包含JSON数据,看起来像const data = require('mydata.json')

但是,我不想在JSON数据获取更新时编译browserify JavaScript文件。我在想,如果browserify能够调用位于外部的JSON,那么我可以只更新JSON文件。

我的另一种选择是使用getJSON()来调用外部的JSON文件,我认为这种方法不是一种有效的方法。

如果有人有更好的选择?谢谢

回答

1

可以使用Browserify构建两个独立的bundle:一个用于JSON数据;另一个为应用程序。该应用程序然后可以require来自另一个包的数据。

作为示例,请创建以下文件。

data.json用于数据:

{ "name": "alice" } 

一种index.js用于应用:

var data = require("data.json"); 
console.log(data); 

而一个index.html加载示例包:

<!doctype html> 
<html> 
<head> 
    <title>so-41762055</title> 
</head> 
<body> 
    <script src="./bundle-data.js"></script> 
    <script src="./bundle-app.js"></script> 
</body> 
</html> 

您可以使用下面的命令来建立数据和应用程序包:

browserify --require ./data.json:data.json > bundle-data.js 
browserify --exclude data.json index.js > bundle-app.js 

一旦你有两个包,你可以重建数据包和离开应用程序包不变。

+0

答案非常清楚,易于理解。非常感谢! – olo