尝试将模块用作本地模块时出现模块未找到错误
Module not found error when trying to use a module as a local module
我正在尝试了解如何制作本地模块。在节点应用程序的根目录下,我有一个名为 lib
的目录。在 lib 目录中,我有一个 .js
文件,它看起来像:
var Test = function() {
return {
say : function() {
console.log('Good morning!');
}
}
}();
module.exports = Test;
我修改了我的package.json
,添加了本地模块的路径条目:
"dependencies": {
"chat-service": "^0.13.1",
"greet-module": "file:lib/Test"
}
现在,如果我尝试 运行 测试脚本,例如:
var greet = require('greet-module');
console.log(greet.say());
它抛出一个错误说:
Error: Cannot find module 'greet-module'
我在这里犯了什么错误?
modules.export
不正确。它应该是 module.exports
和 s
.
此外,请确保在添加依赖项后执行 npm install
。这会将文件复制到您的 node_modules
并使其可供 require
函数使用。
参阅 here 以获得很好的参考。
更新:
在通过一些示例弄清楚这一点后,我注意到,大多数项目都具有我在下面列出的结构。您可能应该将本地模块格式化为它们自己的独立包。使用它们自己的文件夹和 package.json
文件指定它们的依赖项和名称。然后你可以用 npm install -S lib/test
.
包含它
一旦我这样做了,它就对我有用,而且它将是一个很好的结构。干杯。
代码见here。
我正在尝试了解如何制作本地模块。在节点应用程序的根目录下,我有一个名为 lib
的目录。在 lib 目录中,我有一个 .js
文件,它看起来像:
var Test = function() {
return {
say : function() {
console.log('Good morning!');
}
}
}();
module.exports = Test;
我修改了我的package.json
,添加了本地模块的路径条目:
"dependencies": {
"chat-service": "^0.13.1",
"greet-module": "file:lib/Test"
}
现在,如果我尝试 运行 测试脚本,例如:
var greet = require('greet-module');
console.log(greet.say());
它抛出一个错误说:
Error: Cannot find module 'greet-module'
我在这里犯了什么错误?
modules.export
不正确。它应该是 module.exports
和 s
.
此外,请确保在添加依赖项后执行 npm install
。这会将文件复制到您的 node_modules
并使其可供 require
函数使用。
参阅 here 以获得很好的参考。
更新:
在通过一些示例弄清楚这一点后,我注意到,大多数项目都具有我在下面列出的结构。您可能应该将本地模块格式化为它们自己的独立包。使用它们自己的文件夹和 package.json
文件指定它们的依赖项和名称。然后你可以用 npm install -S lib/test
.
一旦我这样做了,它就对我有用,而且它将是一个很好的结构。干杯。
代码见here。