鍍金池/ 問(wèn)答/HTML/ webpack打包的時(shí)候有什么辦法向npm腳本傳參??

webpack打包的時(shí)候有什么辦法向npm腳本傳參??

現(xiàn)在有個(gè)項(xiàng)目打包的時(shí)候靜態(tài)資源的地址是寫死線上的,因此在測(cè)試環(huán)境的時(shí)候訪問(wèn)不到靜態(tài)資源。

因此就想通過(guò)命令行來(lái)控制打包時(shí)的地址,例如npm run build --env=box1,然后通過(guò)argv拿到傳入的env參數(shù)

const args = process.argv.splice(2);
let env = ''

args.map(item=>{
    let params = item.split('=');
    if(params[0] == 'env') {
        env = params[1]
    }
})

module.exports = {
    DEV: 'dev',
    PRODUCT: 'product',
    SERVER_URL: `https://static${env ? '-' + env: ''}.xxxx.com/xxx/`//靜態(tài)資源地址
}

結(jié)果args中沒有我要的env=box1,因此只能在每次打包的時(shí)候手動(dòng)把env加在cli里,但是這樣很容易忘記

因此,請(qǐng)問(wèn)有沒有辦法獲取env=box1這個(gè)參數(shù)呢?

`npm run build --env=box1`
`npm run build --env=box2`
...
`npm run build --env=qc1`
`npm run build --env=qc2`
...
回答
編輯回答
舊城人

這里是webpack官方的方案,直傳即可:https://webpack.js.org/guides...

webpack --env.NODE_ENV=local --env.production --progress
2017年12月28日 18:11