第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何處理Node.js中的循環(huán)依賴關(guān)系

如何處理Node.js中的循環(huán)依賴關(guān)系

達令說 2019-07-10 15:29:59
如何處理Node.js中的循環(huán)依賴關(guān)系我最近一直在使用NodeJS,并且仍然在處理模塊系統(tǒng),所以如果這是一個明顯的問題,請原諒。我希望代碼大致如下所示:a.js(主文件與節(jié)點一起運行)var ClassB = require("./b");var ClassA = function() {     this.thing = new ClassB();     this.property = 5;}var a = new ClassA();module.exports = a;b.jsvar a = require("./a");var ClassB = function() {}ClassB.prototype.doSomethingLater() {     util.log(a.property);}module.exports = ClassB;我的問題似乎是我無法從ClassB的實例中訪問ClassA的實例。是否有一種正確/更好的方式來構(gòu)造模塊以實現(xiàn)我想要的?是否有更好的方法在模塊之間共享變量?
查看完整描述

3 回答

?
阿波羅的戰(zhàn)車

TA貢獻1862條經(jīng)驗 獲得超6個贊

雖然node.js允許循環(huán)require依賴關(guān)系,正如您已經(jīng)發(fā)現(xiàn)的,它可以是很亂你最好把你的代碼重組成不需要它。也許可以創(chuàng)建第三個類,使用其他兩個類來完成所需的任務。


查看完整回答
反對 回復 2019-07-10
?
慕森卡

TA貢獻1806條經(jīng)驗 獲得超8個贊

嘗試將屬性設置為module.exports而不是完全取代它。例如,module.exports.instance = new ClassA()在……里面a.jsmodule.exports.ClassB = ClassB在……里面b.js..創(chuàng)建循環(huán)模塊依賴項時,所需模塊將獲得對不完整模塊的引用。module.exports從所需的模塊中,您可以在后面添加其他屬性,但當您設置整個module.exports,您實際上創(chuàng)建了一個需要模塊無法訪問的新對象。


查看完整回答
反對 回復 2019-07-10
?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

我知道我在這里發(fā)現(xiàn)了一個舊的答案.。這里的問題是定義了module.export你需要B級。循環(huán)依賴(JohnnyHK的鏈接顯示)循環(huán)依賴在Node中非常有用,它們是同步定義的。如果使用得當,它們實際上解決了許多常見的節(jié)點問題(比如訪問表達式.js)app其他文件)


只需確保定義了所需的導出即可。以前您需要一個具有循環(huán)依賴關(guān)系的文件。

這將破壞:

var ClassA = function(){};var ClassB = require('classB'); //will require ClassA, which has no exports yetmodule.exports = ClassA;

這將起作用:

var ClassA = module.exports = function(){};var ClassB = require('classB');

我一直使用這個模式來訪問press.jsapp在其他檔案中:

var express = require('express');var app = module.exports = express();// load in other dependencies, which can now require this file and use app


查看完整回答
反對 回復 2019-07-10
  • 3 回答
  • 0 關(guān)注
  • 886 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號