やりたいこととしては、dev.env.js
や prod.env.js
以外に、テスト環境向けの config が欲しい。ちなみに、ここで言う「テスト環境」とは、ローカル以上、プロダクション未満のような環境を指します。
で、stg.env.js
のような config を新しく用意しようかと思ったのですが、webpack.prod.conf.js
を見ると、普通に webpack を使ってる分には test.env.js
が使われてなさそう...?
というわけで、次の方法でビルドできるようにしてみました。
前提
- vue-cli@2.9.1
コマンド
ローカル環境向け (dev.env.js
)
> npm run dev
テスト環境向け (test.env.js
)
> npm run build
プロダクション環境向け (prod.env.js
)
> npm run build -- production
変更点
build/build.js
const targetEnv = process.argv[2] === 'production' ? 'production' : 'testing' process.env.NODE_ENV = targetEnv
npm run build
の --
に続けてパラメータを渡すと、process.argv
で受け取ることができる。
あとは、コンソールに表示するスピナーとか完了メッセージをいい感じにする。
... // スピナー const spinner = ora(`building for ${targetEnv}...`) ... // 完了メッセージ console.log(chalk.cyan(` Build complete. (build for ${targetEnv})\n`))
現場からは以上です。