はじめに
webpack + babel 環境をwindowsで作りました。
元にしたのはこちらの記事です。
webpack+babel環境でフロントエンドもES6開発 - Qiita
元記事では、mac環境だったようなので、少し変更することでwindows環境で動かせました。
フォルダ構成
これにしたがって、フォルダを作成して、ファイルを配置していきます。
ファイルは webpack.config.js の修正以外は、元記事の通りです。
sample (フォルダ)
source (フォルダ)
es2015 (フォルダ)
application.js
person.js
distribution (フォルダ)
index.html
javascript (フォルダ)
package.json
webpack.config.js
node_modules (フォルダ)
インストール
webpack + babel のインストール方法は元記事の通りで、次のコマンドを使います。
少しオプションを変えました。
> npm init -y
> npm install --save webpack babel-core babel-loader babel-preset-react babel-preset-es2015
webpack.config.js のloader部分に変更が必要なようでした。
パスを通してないからかもしれません。
webpack.config.js
module.exports = {
context: __dirname + '/source',
entry: {
'application': './es2015/application',
},
output: {
path: __dirname + '/distribution/javascript',
filename: '[name].js'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
//loader: "babel", //エラーになる
loader: "babel-loader", //こちらはうまくいく
query:{
presets: ['react', 'es2015']
}
}
]
}
};
webpack.config.js が loader: "babel"のままだと、次のエラーがでました。
> .\node_modules\.bin\webpack
Hash: xxxx
Version: webpack 3.8.1
Time: 35ms
ERROR in Entry module not found: Error: Can't resolve 'babel' in 'xxx/sample/source'
BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.
You need to specify 'babel-loader' instead of 'babel',
see https://webpack.js.org/guides/migrating/#automatic-loader-module-name-extension-removed
ディレクトリ作成
sampleフォルダから、次のコマンドでフォルダが作れます。macとはオプション指定が違うみたいです。
コマンドじゃなくてGUIで作成しても問題ないです。
cmd.exe
> mkdir source\es2015 distribution\javascript
コンパイル(トランスパイル)を行う
macのような、`npm bin`
/webpack は動かないので、次のようにします。
cmd.exe
> .\node_modules\.bin\webpack