考虑以下 npm 脚本。
$ npm run
available via `npm run-script`:
make
OUTPUT=dist/main.js bash -c 'elm make src/Main.js --output=$0 $1'
make:dev
npm run make -- '$OUTPUT' --debug
make:prod
npm run make -- '>(npm run uglify -- $OUTPUT)' --optimize
uglify
uglifyjs --compress 'pure_funcs="F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9",pure_getters,keep_fargs=false,unsafe_comps,unsafe' | uglifyjs --mangle --output=
我想按如下方式使用它:
$ npm run make -- '$OUTPUT' '--debug'
> experiment@0.1.0 experiment /Users/Adit/experiment
> OUTPUT=dist/main.js bash -c 'elm make src/Main.js --output=$0 $1' '$OUTPUT' '--debug'
这将正确创建 Elm 应用程序的调试版本。然而,事实并非如此。不使用单引号,而是npm run
使用双引号:
$ npm run make -- '$OUTPUT' '--debug'
> experiment@0.1.0 experiment /Users/Adit/experiment
> OUTPUT=dist/main.js bash -c 'elm make src/Main.js --output=$0 $1' "$OUTPUT" "--debug"
因此,输出不是我所期望的。在不编写自定义 shell 脚本的情况下解决此问题的最佳方法是什么?我想OUTPUT
在两个不同的命令中使用该变量。但是,我只想在一个地方定义它。