之後,從index.html的引用(託管在谷歌應用程序引擎)Browserify模塊不能包括bundle.js腳本
我導入模塊一個「main.js」的文件,如我看到的是Browserify文檔中的標準,如下所示:
browserify main.js -o bundle.js
:
var request = require('request');
var fs = require('fs');
我然後使用下面的命令捆綁此成一個bundle.js文件
這成功地生成了所需的bundle.js文件。然後,我這包括在頭在我的index.html頂部如下:
<HEAD>
<script src="/scripts/bundle.js"></script>
<script src="/scripts/util/loader.js"></script>
<!-- More scripts below here -->
的index.html的身體內的腳本會使得它使用線loader.js內函數的調用
request('api.my-url.com/world').pipe(fs.createWriteStream('/resources/myMap.json'));
我用它來試圖創建一個包含響應內容的文件。然而,當我在GAE上部署此,和訪問的index.html,我被錯誤消息映入眼簾:
loader.js:15 Uncaught ReferenceError: request is not defined
at loadWorld (loader.js:15)
at Object.create ((index):55)
如果我嘗試和移動的要求()調用到腳本index.html中我得到同樣的問題,但如果我將該行移入main.js,我不再會遇到這個問題。
我想這是下降到JavaScript的一個個人誤解,但我似乎無法找出原因bundle.js已經通過腳本被列入的index.html後請求對象不可用的index.html標籤。
非常感謝任何能夠闡明情況的人,謝謝。
通常,捆綁包將包含整個應用程序。你是否將「requrest」捆綁在'index.html'中的其他腳本中?如果是這樣的話,答案很簡單。然而,你無法使用'fs'會讓你的問題難以理解 - 因爲它永遠不會工作。你能減少你想要做的簡單陳述嗎? – cartant