我正在使用 node v0.10.32。Windows 8.1。
我的目标是将一个 node 应用程序作为 node_module 链接到另一个主应用程序中。
我进入 my-module 文件夹,执行以下操作:
npm link
然后,我进入主应用程序文件夹并执行以下操作:
npm link my-module
这是结果
c:\dev\main-app>npm link my-module
unbuild my-module@0.0.2
c:\dev\main-app\node_modules\my-module -> C:\Users\Nizar\AppData\Roaming\npm\node_modules\my-module -> C:\dev\my-module
但是,这个链接似乎不起作用,require('my-module') 抛出以下错误
c:\dev\main-app>node app.js
module.js:340
throw err;
^
Error: Cannot find module 'my-module'
at Function.Module._resolveFilename (module.js:338:15)
- my-module的版本确实是v0.0.2。
- 我可以从main-app/node_module/my-module访问它。
- 此文件夹存在于C:\Users\Nizar\AppData\Roaming\npm\node_modules\my-module。
- my-module的package.json中有"name": "my-module"。
此外,%NODE_PATH%已正确设置:
c:\dev\main-app>echo %NODE_PATH%
C:\Users\Nizar\AppData\Roaming\npm\node_modules
想法?
dir node_modules
命令时,是否会看到类似于01/12/2016 09:21 PM <JUNCTION> my-module [C:\Users\Nizar\AppData\Roaming\npm\node_modules\my-module]
的内容?如果没有,那么链接可能存在问题。 - rossipediacd node_modules\my-module
命令,你会进入你的模块文件夹,对吗?这个文件夹里面应该有一个index.js
文件或者其他你在package.json
文件中指定的main
键所对应的文件。 - rossipedia