簡體   English   中英

無法解析模塊xmlhttprequest中的“ child_process”

[英]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;

在此處輸入圖片說明 main.js

//#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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM