2017-01-20 141 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