mil*_*ose 2 node.js yarnpkg yarnpkg-v2
我正在使用 Yarn 2 的“零安装”工具作为一个小工具来解决我老板的随机过敏问题。npm i(他对必须在克隆的存储库上运行才能使其工作的期望感到不满,并坚持认为node_modules引入版本控制在某种程度上并不是一个糟糕的想法;所以我想以此为借口偷偷溜进 Yarn 并阻止他为其提供动力。)
据我了解,“零安装”基本上意味着 Yarn 试图使将依赖项安装状态放入 VCS 中实际上是可行的。然而,要运行实际的应用程序,Yarn 需要用其 PnP 机制替换 Node 的依赖解析。对于从 Yarn 脚本运行的 Node 实例,这种情况会自动发生,但运行 Yarn 脚本需要 Yarn 可用。(请记住,我们正在努力解决某些人对安装东西固执己见的问题。)
我所拥有的最好的办法就是让我的start剧本成为npx yarn node app.js,但这感觉不必要地复杂;毕竟,在 Yarn 2 中,工具本身存储在其中,.yarn/releases并且全局yarn命令使用它,但这是一些捆绑器输出的巨大缩小块,我不知道如何开始调用它。
要注册 Yarn 生成的 PnP 运行时,只需.pnp.js从命令行进行 require 即可,因此您可以app.js通过以下方式运行:
node -r ./.pnp app.js
还有另一种方法可以执行相同的操作:您可以.pnp.js从应用程序内进行 require,但是当您不是从命令行执行此操作时,您还必须setup在返回的 PnP API 实例上调用函数,只需将此行添加到顶部app.js:
require('./.pnp').setup();
| 归档时间: |
|
| 查看次数: |
1115 次 |
| 最近记录: |