我在 javascript 项目中有一个构建脚本,它使用 Parcel 来迭代文件夹并查找索引文件,然后构建这些项目。当我找到索引文件时,我运行以下命令:
npx parcel build ${indexFilePath} --out-dir ${outDir} --target node
但是,如果运行此构建脚本的人尚未安装软件包npm i,则 npx 命令将安装最新版本的 Parcel-bundler,其中 --out-dir 现已弃用并破坏整个脚本。
这是正在发生的事情,经过蒸馏:
$ rm -rf node_modules
$ npm i
$ npx parcel --version
1.12.4
$ rm -rf node_modules
$ npx parcel --version
2.0.0-beta.2
Run Code Online (Sandbox Code Playgroud)
npx 是否有任何选项可以使用项目中已有的 package.json 文件中的版本并将其安装到 node_modules 中?或者我只是将安装步骤整合到我的构建中?这似乎有点矫枉过正,因为我需要建造的只是包裹。
我这样使用 npx 是否滥用了它?
到目前为止,我发现的唯一选择是使用noderepl 从我的 package.json 中解析和提取版本(在您的情况下应该可用)
像这样的东西:
npx parcel@`node -p -e "require('./package.json').dependencies['parcel']"` --version
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1719 次 |
| 最近记录: |