我有一个很大的项目,它是一个由多个脚本和库组成的monorepo,它的结构如下:
package.json // "private":true
\packages
\comp1
\package.json // an actual component
\comp2
\package.json // an actual component
\comp3
\package.json // an actual component我用yarn pack做了一个monorepo.tgz。
然后我做了一个测试应用,它的package.json如下所示:
"scripts": {
// this is a script in one of the monorepo's components
"start": "ui-build --bundle --watch -p 3000"
}
"dependencies": {
"comp1": "../monorepo/monorepo.tgz",
"comp2": "../monorepo/monorepo.tgz",
"comp3": "../monorepo/monorepo.tgz",
...但是它不工作,当我运行start时,它抱怨ui-build: command not found。如何在本地测试此monorepo以尽可能接近地模拟已发布的npm包?
发布于 2021-02-13 07:23:59
使用npm link (或yarn link),您可以从本地开发环境‘安装’包。
为此,首先在要安装的软件包目录中运行npm link,在\packages\comp1中也是如此。然后在你的测试应用中,运行npm link comp1。这将安装您的软件包。对要安装的任何其他应用程序重复上述操作。
更多信息:https://docs.npmjs.com/cli/v6/commands/npm-link https://classic.yarnpkg.com/en/docs/cli/link/
发布于 2021-02-11 18:40:39
经过一些研究,我发现https://verdaccio.org/是无需部署到npm存储库即可测试库的最佳工具
https://stackoverflow.com/questions/66151442
复制相似问题