


























pnpm 的 shellEmulator 是一个非常实用的配置项。
在 pnpm-workspace.yaml 添加一行 shellEmulator: true 之后,你就不需要再使用 cross-env 做环境变量的配置了。
如下示例,你现在可以轻松的设置环境变量 TEST 为 "true" 了:
// package.json
"scripts": {
"test": "TEST=true node test.js"
}
// test.js
console.log(process.env.TEST)
这个功能由 @yarnpkg/shell 支持,在使用过程中我发现一些脚本的写法要进行修改。
在 shellEmulator: false(默认值)的情况下,以下写法是在 Linux 和 Windows 上通用的写法,用于运行多个脚本:
// package.json
"scripts": {
"test": "pnpm run \"/:test$/\""
}
设置 shellEmulator: true 后,你需要修改为以下其中一种写法:
第一种(推荐):
// package.json
"scripts": {
"test": "pnpm run '/:test$/'"
}
第二种:
// package.json
"scripts": {
"test": "pnpm run \"/:test\\$/\""
}
欢迎留言交流。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。