簡體   English   中英

Javascript要求

[英]Javascript Require

include.js文件包含

var test = function(){
    console.log("log from included file");
};

main.js文件包含

require('./include.js');
test();

當我嘗試使用node main.js命令運行main.js它顯示

module.js:340
    throw err;
          ^
Error: Cannot find module 'include.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (d:\Nishada\test\main.js:1:63)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

此錯誤的原因是什么?

您將需要導出測試功能以便在main.js使用它

var test = function(){
    console.log("log from included file");
};

module.exports = test

並在main.js添加require ,如下所示

require('./include.js'); // assuming include.js is in same directory as main.js

如果您還require('include.js')則節點將搜索include在全球封裝

錯誤是指找不到文件,請確保您的文件與main.js位於同一目錄中,然后嘗試:

include.js

module.exports = {
    test: function(){
        console.log("log from included file");
    }
}

main.js

var myInclude = require('include.js');
myInclude.test();

requirerequire給出include.js相對路徑。

如果兩者都在同一個目錄中,請像下面這樣寫

var include = require('./include.js');
include.test();

include.js您可以將它們定義為exports函數

exports.test = function(){
    console.log("log from included file");
};

更好

include.js僅導出一個具有多個功能的對象,而不是導出每個單獨的功能。

像波紋管

include.js

exports.test = obj;
obj.func1 = function(){};
obj.func2 = function(){};

main.js

var test = require('./include.js').test;
test.func1();
test.func2();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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