Node.js 设置专用NPM源和发布包

Node.js 设置专用NPM源和发布包,node.js,azure,npm,Node.js,Azure,Npm,我已经为NPM设置了Azure DevOps工件提要 我按照 在下一步中,我想从VisualStudio项目中的“node_modules”目录发布包,该项目的包来自公共源。 我想如果我在我的自定义.npmrc”和“package.json”文件旁边运行“npm publish”,它将从“node_modules”目录发布我的所有库。相反,它发布了我的VisualStudio项目,该项目使用了这些库。它甚至遵循Git忽略规则,不包括“node_modules”文件夹… 发布我所依赖的包的默认方式

我已经为NPM设置了Azure DevOps工件提要
我按照

在下一步中,我想从VisualStudio项目中的“node_modules”目录发布包,该项目的包来自公共源。

我想如果我在我的自定义.npmrc”和“package.json”文件旁边运行“npm publish”,它将从“node_modules”目录发布我的所有库。相反,它发布了我的VisualStudio项目,该项目使用了这些库。它甚至遵循Git忽略规则,不包括“node_modules”文件夹…

发布我所依赖的包的默认方式是什么?
我需要为每个包手动编写脚本吗?

如何处理需要预构建的软件包?
在我运行了一个简单的脚本之后,有几个包失败了。

脚本:

for /d %i in (C:\Path\node_modules\*) do ( cd "%i" &  npm publish )
错误:

…
6 warn prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
7 warn prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
8 warn prepublish-on-install See the deprecation note in `npm help scripts` for more information.
…
23 error code ELIFECYCLE
24 error errno 1
25 error xml-name-validator@3.0.0 prepublish: `node scripts/generate-grammar.js < lib/grammar.pegjs > lib/generated-parser.js`
25 error Exit status 1
26 error Failed at the xml-name-validator@3.0.0 prepublish script.
…
…
6从开始安装时警告预发布npm@5,不推荐使用“预发布”脚本。
7安装时警告预发布使用“prepare”进行生成步骤,仅使用“prepublishOnly”进行上载。
8安装时警告预发布有关详细信息,请参阅“npm帮助脚本”中的弃用说明。
…
23错误代码ELIFECYCLE
24错误1
25错误xml名称-validator@3.0.0预发布:`node scripts/generate-grammar.jslib/generated-parser.js`
25错误退出状态1
26在xml名称处出现错误-validator@3.0.0预发布脚本。
…
我看到这些包有自己的子包:/

PS:我的DevOps服务器和工作站不能直接访问公共网络

谢谢你的帮助

发布我所依赖的包的默认方式是什么

您不会重新发布项目的所有依赖项(=其他人已发布的模块),而是让模块用户通过将项目作为依赖项安装来自动加载它们

我需要为每个包手动编写脚本吗

同样,您不会发布他人的软件包。 您可以使用包、汇总或网页包之类的绑定器将所有依赖项的构建代码包含在您自己的构建构件中,这样它就不再具有外部依赖项。要告诉模块的用户这一事实,您还必须调整项目的
package.json
(即依赖项变成了devdependency),并且您还应该注意许可证(其中一些许可证要求您在您的人工制品中包含合法标题,您以自己的名义发布其他人的作品)。 此外,您打破了生态系统的模块化,因此不要期望总体效率

PS:我的DevOps服务器和工作站不能直接访问公共网络

我不知道在你发帖时这是否已经可行: 在Azure提要中,您可以定义上游源。 因此,您的Feed将为npmjs.org提供一个代理(并缓存…),在那里发布/托管项目的依赖项(无需直接访问公共网络,因为您将通过Feed从npmjs.org下载)