【发布时间】:2016-08-31 16:39:30
【问题描述】:
我正在为 Node-RED 应用程序 (http://nodered.org/) 构建自定义节点,并将每个节点发布为私有 NPM 模块,并将它们放在我的 package.json 中,如下所示:
"@di-dash/node-red-contrib-didash-output": "0.0.1",
但这会使它们安装在这样的父目录中:
/node_modules/@di-dash/node-red-contrib-didash-output
事实上,它们现在位于父目录中,而不是直接在 node_modules 目录中,就像我刚刚拉入 github 存储库时那样,因为依赖关系阻止了 Node-RED 注意到它们并将它们包含在应用程序中。
我编写了一个 grunt 脚本将它们从父目录中拉出并直接放入 node_modules 并将其作为“安装后”脚本放在 package.json 中,但这必须在应用程序启动后发生,因为 Node-RED 应用程序是'不再拿起我的自定义节点了。
任何想法如何让私有模块在没有父目录的情况下安装,以便它们就像普通(非私有)NPM 模块一样?
像这样:
node_modules/node-red-contrib-didash-output
而不是:
/node_modules/@di-dash/node-red-contrib-didash-output
【问题讨论】:
标签: node.js npm npm-install