我需要在其中一个脚本中使用我的package.json的version属性将版本放在JS包的名称中(我更喜欢使用该版本作为唯一标识符而不是哈希)。
我有什么:
"build-js": "browserify -t [ babelify --presets [ react es2015 ] ] js/components/App.js -o js/bundle.js"
我需要什么(我知道它没有解析,但你明白了):
"build-js": "browserify -t [ babelify --presets [ react es2015 ] ] js/components/App.js -o js/bundle."+this.version+".js"
答案 0 :(得分:2)
当您运行npm脚本时,npm会将所有package.json
字段设置为您可以使用的环境变量:
https://docs.npmjs.com/misc/scripts#packagejson-vars
您可以使用npm_package_version
环境变量
答案 1 :(得分:1)
你可以这样做:
"build-js": "browserify -t [ babelify --presets [ react es2015 ] ] js/components/App.js -o js/bundle.$npm_package_version.js"
有关详细信息,请参阅此视频:https://egghead.io/lessons/tools-use-custom-config-settings-in-your-npm-scripts
P.S。不值得将您的软件包放在与您的源相同的目录中,通常它会进入dist/
,例如dist/bundle.js
。这样,如果要发布到npm,则可以忽略未构建的源目录。或者你可以删除dist/
目录并重建,以及将来你需要其他资产作为构建过程的一部分。