LoginSignup
0
0

More than 1 year has passed since last update.

少しわかりにくかったところ。

cross-env

  • NODE_ENVを含んだscriptsを打つとwindowsのコマンドプロンプトでうまく動作しない
  • scriptsに含むことでプラットフォームの挙動の差異を無くす
"scripts": {
    "watch": "cross-env NODE_ENV=development webpack-dev-server --color",
    "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.babel.js"
  },

npm cross-env
dotenvとcross-envで環境変数を設定して開発環境の処理を切り替える

contentBase

webpack.config.babel.js
// webpack-dev-server
  devServer: {
    open: true,
    port: 3000,
    // contentBaseに指定したディレクトリに変更があった場合リロードされる
    watchContentBase: true,
    contentBase: path.join(__dirname, 'public'),
  },
  • portの3000を明示するためにcontentBaseにはビルド後のファイルをカレントディレクトリとして指定する
  • 注意すべきはwatchコマンドを打った場合、実際にはビルドされずメモリに保存されるだけという点(ブラウザには反映される)
  • 通常ビルド後のファイルに変更があってもdevserverは応答しないが、watchContentBaseをtrueにすることでビルド後のファイルにも対応できる

webpack-dev-server のオプション全部試した
webpack-dev-serverで開発用サーバを立てる

.babel拡張子について

  • なぜwebpack.config.babel.jsがES6以降の書き方にも関わらずトランスパイルされているのか
  • 結論

interpret の仕組みはとても簡単で、設定された拡張子に対して動的な前処理を適用するだけです。 interpret の方で、 .babel.js という拡張子に対しては、 babel-register で変換して処理するという風に定義されていますので、 webpack.conf.babel.js でも問題なく処理できるというわけです。

BabelでES6で書いて、webpackでビルドして、mochaでテスト書いて、power-assertでassertの出力を見やすくして、karmaで複数ブラウザのテストを自動化して、カバレッジを出力するようにした

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0