输出
我正在尝试在我的Express JS应用程序中学习本地模块设置。
test-module
文件夹在我的项目文件夹中创建,其中包含两个文件
1(index.js
module.exports = {
indexfunc:function(){
console.log('ok from index');
}
}
2(hello.js。
module.exports = {
helloFunc:function(){
console.log('ok from hello');
}
}
在app.js
文件中导入此模块
var mymodule = require('hello-module');
console.log(mymodule);
output:{ indexfunc: [Function: indexfunc] }
但这返回console.log(require('hello-module').hello)
undefined
。
package.json此模块
{
"name": "hello-module",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "",
"license": "ISC"
}
由于hello
是hello-module
中的文件,因此您需要将其作为path
传递给require
。做:
console.log(require('hello-module/hello'))
通过:
console.log(require('hello-module').hello)
您正在打印hello
属性由index.js
我在@ayush答案中添加了@Ayush答案,如果您的目标是从模块文件夹中的其他文件执行代码,则可以导出这样的参考:
//index.js
const helloModule = require('./hello');
module.exports = {
hello: helloModule,
indexfunc:function(){
console.log('ok from index');
}
}