2017-08-15 64 views
0

我用我的js文件,該代碼是通過NPM全球HTTP服務器使用的網站的一部分:的ReferenceError:找不到變量:要求 - JQuery的錯誤

function getParsedStorage() { 
    let fs = require('fs'); 
    return JSON.parse(fs.readFileSync('./../manager-data.json', 'utf8')); 
} 

,並得到錯誤:

jQuery.Deferred exception: Can't find variable: require (2) (exceptionHook — jquery.min.js:2:31584)

ReferenceError: Can't find variable: require (jquery.min.js:2:31697)

我已經安裝文件系統封裝NPM安裝文件系統--save但這並沒有改變任何東西。

回答

1

在我看來,您試圖在Web瀏覽器內使用Node.js的require函數,而無需使用提供兼容require方法的模塊系統。

沒有額外的信息,我不能肯定,但我的建議是,調查一個模塊加載像Require.jsSystemJSBrowserify這都應該使您能夠利用這個語法的你的模塊中。

這就是說,對於您描述的用例(從網站訪問JSON文件),可以使用簡單的XHRHttpRequestfetch API更好地服務。

以下是使用fetch API返回解析的JSON文件內容的示例。

// Returns a Promise that resolves to the parsed storage data 
// NOTE: Lacks any error handling 
function getParsedStorage() { 
    return fetch("../manager-data.json").then(response => response.json()) 
} 
+0

是的,那是編碼瘋狂和絕望的時刻。謝謝您的回答。現在我已經學習了一些關於node.js的知識,並使用它來完成我的服務器部分。 –

相關問題