本地模块节点.js :无法加载索引以外的文件.js



我正在尝试在我的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"
}

由于hellohello-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');
     }
}

相关内容

  • 没有找到相关文章

最新更新