如何使用 pnpm 传递任意参数

Dmi*_*try 6 pnpm turborepo

使用 npm,您可以像这样传递随机参数:

  npm run build --foo="bar"
Run Code Online (Sandbox Code Playgroud)

然后您可以foo通过以下方式访问值:

   process.env.npm_config_foo
Run Code Online (Sandbox Code Playgroud)

是否可以用 pnpm 做同样的事情?我查看了他们的文档,但找不到任何相关内容。我尝试了类似的方法,但出现未知标志错误

   pnpm build --foo=bar
Run Code Online (Sandbox Code Playgroud)

Zol*_*han 2

我不确定为什么它会抛出错误。听起来像是一个错误。但是,这会起作用:

pnpm run build --foo=bar
Run Code Online (Sandbox Code Playgroud)

但它不会创建npm_config_foo环境变量。它只会将选项附加到执行的脚本中。因此,如果您的构建脚本是webpack,那么 pnpm 将运行:

webpack --foo=bar
Run Code Online (Sandbox Code Playgroud)

所以,这基本上就像跑步一样npm run build -- --foo=bar。或者喜欢跑步yarn build --foo=bar

您也可以在 pnpm 文档中阅读相关内容:https://pnpm.io/cli/run#options