hel*_*elt 15 npm package.json yarnpkg
我检查了一个使用纱线代替npm作为构建工具的仓库.
在package.json中,它定义了处理多个子项目的工作空间:
{
"workspaces": [
"packages/*"
],
"dependencies": [],
"devDependencies": [
// long list
]
}
Run Code Online (Sandbox Code Playgroud)
因此,根package.json
不包含任何运行时依赖性.只是packages/*/package.json
包含那些.
要编译(并以开发模式启动),我会:
yarn install
yarn start
Run Code Online (Sandbox Code Playgroud)
我没有找到任何文档,这workspaces
也是npm识别和正确使用的文档.
有没有办法让它与npm一起工作?
小智 15
npm不支持在monorepo中管理依赖关系.在勒拿湖包用于跨依赖于管理JavaScript项目.我相信Lerna在引擎盖下使用Yarn,但是使用Yarn作为项目的包管理器,此功能支持开箱即用.
这是一个可能有助于了解Yarn和Lerna如何协同工作的回购:https://github.com/Quramy/lerna-yarn-workspaces-example
Sah*_*sha 15
现在 npm v7.0.0 已经发布,npm 支持workspaces
. 您可以从单个顶级根包中管理多个包。在https://github.blog/2020-10-13-presenting-v7-0-0-of-the-npm-cli/查看更多
默认情况下,您的工作流不会获得npm v7.0.0,除非您使用npm install -g npm@7
.
截至 2020 年 8 月 11 日,工作区在 v7 测试版中可用。
RFC 26
workspaces
添加了第一阶段的支持。当根项目的package.json
文件包含一个workspaces
字段时,这会更改 npm 的行为。
https://blog.npmjs.org/post/626173315965468672/npm-v7-series-beta-release-and-semver-major
您可以在此处查看和下载测试版:
https://github.com/npm/cli/tags
归档时间: |
|
查看次数: |
11338 次 |
最近记录: |