我创建了一个节点模块,似乎无法正常使用它。这是我所说的模块的index.js:
const thing = require('./thing.js');
exports.thing = thing;
这是thing.js:
module.exports = 'foobar';
这是package.json:
{
"name": "thing-both",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
这是我想在其他模块中使用的package.json:
{
"name": "another-thing",
"description": "",
"dependencies": {
"thing-both": "file:../both"
},
"private": true
}
我运行npm install并安装模块。当我尝试要求我在anotherThing
模块中创建的模块时,我收到“无法找到模块”错误。这是我的要求声明:
const thing = require('thing-both');
我注意到的一件事是安装的模块没有文件,文件夹在我的目录侧边栏中有一个图标(使用Sublime 3,图标看起来像符号链接图标):
这是我正在使用的项目目录:
both
thing.js
index.js
package.json
other
// stuff
我可能在这里做错了什么?
答案 0 :(得分:0)
在库模块中使用npm link
,然后在消费模块中使用npm link MODULE_NAME
。您收到此错误是因为您的库模块可能未托管在npm install
查找模块的npm注册表中。
这是一种快速本地开发的方法,无需在每次进行更改并希望在本地进行测试时将库模块一直提交到npm注册表。