new
Usage: modern new [options]
应用工程中执行生成器
Options:
-d, --debug 开启 Debug 模式,打印调试日志信息 (default: false)
-c, --config <config> 生成器运行默认配置(JSON 字符串)
--dist-tag <tag> 生成器使用特殊的 npm Tag 版本
--registry 生成器运行过程中定制 npm Registry
-h, --help 显示命令帮助
modern new
命令用于在已有项目中添加项目元素。
比如添加应用入口、启用启用一些可选功能如 Tailwind CSS、微前端开发模式等。
提示
pnpm v6 和 pnpm v7 版本在执行命令时使用姿势不完全一致,需要注意以下事项:
pnpm v7:
在使用 pnpm 调用 package.json
中的命令时,如果需要传递参数至 pnpm,需要将参数放到命令前。
例如使用 pnpm --filter
参数执行 prepare 命令:
pnpm run --filter "./packages/**" prepare
如果需要传递参数至命令,需要将参数放到命令后。
例如,在如下 package.json
配置中:
{
"scripts": {
"command": "modern command"
}
}
执行 command 命令时携带参数方式为:
pnpm run command --options
pnpm v6:
在如下 package.json
配置中:
{
"scripts": {
"command": "modern command"
}
}
当需要执行 modern command --option
:
使用 pnpm 时,需要执行 pnpm run command -- --option
。
这是因为 pnpm 对于命令参数的处理与 Yarn 并不相同,但是与 npm 类似:在不加 --
字符串的时候,传递的是 pnpm 的参数;在使用 --
字符串的时候,传递的是执行脚本的参数。
在上述例子里参数 --option
传递给了 modern command
。如果执行 pnpm run command --option
,则参数 --option
将传递给 pnpm。
总结来说:
在使用 pnpm v7 时,如果传递参数给 pnpm,需要将参数放置到命令前
在使用 pnpm v6 时,如果传递的参数给 pnpm,不需要加 --
;如果传递的参数是给脚本使用,需要增加 --
字符串。
添加入口
在应用工程中,执行 new
命令添加入口如下:
$ npx modern new
? 请选择你想要的操作 创建工程元素
? 创建工程元素 新建「应用入口」
? 请填写入口名称 entry
? 是否需要调整默认配置? 否
启用启用可选功能
在应用工程中,执行 new
命令启用可选能力如下:
$ npx modern new
? 请选择你想要的操作 启用可选功能
? 启用可选功能 (Use arrow keys)
❯ 启用 Tailwind CSS 支持
启用 Less 支持
启用 Sass 支持
启用「BFF」功能
启用「微前端」模式
启用「单元测试 / 集成测试」功能
启用「Visual Testing (Storybook)」模式
注意
--config
参数对应参数值需要使用 JSON 字符串。
pnpm 暂不支持使用 JSON 字符串作为参数值,可使用 npm new
开启相关功能。【相关 Issue】