![](/img/trans.png)
[英]Module not found: Can't resolve 'child_process' NextJS + Nightmare
[英]Can't Resolve “child_process” in module xmlhttprequest
我正在處理正在加載JSON文件的DataConnector類。 在我的應用程序中,該類以外的所有內容都可以正常運行,因此,我認為問題不會在其他任何地方出現。
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
//#File: DataConnector.js
var DataConnector = {};
DataConnector.LoadJSON = (function(file,callback) {
var xobj = new XMLHttpRequest();
console.log(xobj);
xobj.open('GET', file, true);
xobj.overrideMimeType = "application/json";
xobj.onreadystatechange = function () {
if (xobj.readyState == 4 && xobj.status == "200") {
callback(xobj.responseText);
}
};
xobj.send(null);
})
DataConnector.getMessage = function(){
return 'Hello DataConnector';
}
module.exports = DataConnector;
//#File: QuestionJS.js
//var $ = require('jquery');
Answer = require('./Answer');
Question = require('./Question');
ThemeGenerator = require('./ThemeGenerator');
DataConnector = require('./DataConnector')
//console.log(DataConnector.getMessage());
如果我不再需要DataConnector,則webpack可以很好地捆綁我的應用程序。 我今天早些時候還在另一台PC上進行這項工作,實際上每次都運行得很好。
我已經使用過npm i -g xmlhttprequest npm i xmlhttprequest npm i xmlhttprequest --save
xmlhttprequest在我的項目文件夾的node_modules文件夾中有文件,我正在嚴格遵循自述文件。
老實說,我從未感到困惑,特別是因為即使這兩個都是安裝了保存軟件的Windows 10系統,該錯誤甚至都沒有出現在其他系統上。
感謝您的幫助!
xmlhttprequest
軟件包用於服務器端 JavaScript。 child_process
軟件包內置在child_process
。 它不是NPM軟件包,因此不能在NodeJS上運行之外下載或包含在任何應用程序中。 它是專門設計用於處理NodeJS內部功能的軟件包。
如果您嘗試在前端使用xmlhttprequest
包,則會出現該xmlhttprequest
。 由於xmlhttprequest
包僅適用於xmlhttprequest
,因此您將收到child_process
不存在的錯誤,因為前端瀏覽器中不存在child_process
。 如果是這樣,您可能會很高興知道XMLHttpRequest內置在瀏覽器中。 存在NodeJS軟件包的原因是為了模仿瀏覽器的固有功能。 您也許可以整體上刪除該程序包並引用XMLHttpRequest
類,而不會出現錯誤。
如果您正在開發同時支持后端和前端的代碼,則可能會導致如下所示:
if (typeof XMLHttpRequest === 'undefined') {
global.XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;
}
如果使用Webpack捆綁后端應用程序,則可能需要將其配置為目標node
而不是瀏覽器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.