Javascript Require

Javascript Require

本文关键字:Require Javascript      更新时间:2023-09-26

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然后尝试:

包括.js

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

主.js

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

您需要导出测试函数才能在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')那么node将在全局包中搜索include

您必须

require时给出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();