new
Usage: modern new [options]
Monorepo 创建子项目
Options:
-d, --debug 开启 Debug 模式,打印调试日志信息 (default: false)
-c, --config <config> 生成器运行默认配置(JSON 字符串)
--dist-tag <tag> 生成器使用特殊的 npm Tag 版本
--registry 生成器运行过程中定制 npm Registry
-h, --help display help for command
提示
Yarn 和 pnpm 调用命令时接收参数的方式不同,例如,在如下 package.json
配置中:
{
"scripts": {
"command": "modern command"
}
}
当需要执行 modern command --option
:
使用 Yarn 时,需要执行 yarn command --option
。
使用 pnpm 时,需要执行 pnpm run command -- --option
。
这是因为 pnpm 对于命令参数的处理与 Yarn 并不相同,但是与 npm 类似:在不加 --
字符串的时候,传递的是 pnpm 的参数;在使用 --
字符串的时候,传递的是执行脚本的参数。
在上述例子里参数 --option
传递给了 modern command
。如果执行 pnpm run command --option
,则参数 --option
将传递给 pnpm。
总结来说:
在使用 pnpm 时,如果传递的参数给 pnpm,不需要加 --
;如果传递的参数是给脚本使用,需要增加 --
字符串。
modern new
命令在 monorepo 中可以用来添加 MWA 应用和可复用的模块:
$ modern new
? 请选择你想创建的工程类型 (Use arrow keys)
❯ 应用
应用(测试)
模块
模块(内部)
MWA 应用默认会添加到 apps
目录, 测试应用会添加到 examples
目录,公共模块默认会添加到 packages
目录, 内部模块默认会添加到 features
目录。
内部模块在 monorepo 的应用里面使用时,可以无需构建直接使用源码。
注意
--config
参数对应参数值需要使用 JSON 字符串。
pnpm 暂不支持使用 JSON 字符串作为参数值,可使用 npm new
开启相关功能。【相关 Issue】