我正在为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
它们现在位于父目录中,而不是像我刚刚将github存储库中的依赖关系引入时那样直接位于node_modules目录中,这一事实阻止了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
不是它们是私有模块,而是它们是作用域模块。它们应该位于与其作用域同名的目录中。使它们安装在root用户中的唯一方法是从软件包中删除作用域。我建议从Node-RED团队寻求支持,以了解他们是否有针对范围内模块的解决方法。
编辑:我为您打开了一个自由的问题:)
https://github.com/node-red/node-red/issues/885
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句