gulpとbabelとwebpackを使ってフロントエンドの環境を構築しております。
ですが、先人の作成した環境を参考にしながらやったところ、webpackがver.1を扱っておりました。
私がインストールしたものがver.3.4.1で、下記のようなエラーが出てしまいました。
ちなみにですが、gulp(ver.3.9.1)、babel-loader(7.1.1)になります
webpack2への以降方法を教えていただけますと幸いです。
Module build failed: TypeError: fileSystem.statSync is not a function at module.exports (/Users/hoge/Documents/hogehoge/trunk/build-system/node_modules/babel-loader/lib/utils/exists.js:7:25) at find (/Users/hoge/Documents/hogehoge/trunk/build-system/node_modules/babel-loader/lib/resolve-rc.js:13:9) at Object.module.exports (/Users/hoge/Documents/hogehoge/trunk/build-system/node_modules/babel-loader/lib/index.js:113:132)
下記がwebpack.config.jsになります。
module.exports.webpackConfig = function(setting, target) { let config = (function() { let result = { entry: { index: target }, output: { filename: 'index.js' }, cache: true, progress: true, debug: (setting.MODE === 'DEBUG' || setting.MODE === 'DEBUG_LOCAL') ? true : false, devtool: (setting.MODE === 'DEBUG' || setting.MODE === 'DEBUG_LOCAL') ? '#inline-source-map' : null, module: { loaders: [ { test: /.js$/, exclude: /node_modules/, loader: 'babel', query: { compact: false } } ] }, resolve: { modules: [ path.join(__dirname), path.join(__dirname, setting.APP_COMPONENTS), path.join(__dirname, setting.NODE_MODULES), ], modulesDirectories: [ setting.APP_COMPONENTS, setting.NODE_MODULES, ], extensions: ['', '.js'] }, resolveLoader: { modules: [ path.join(__dirname, setting.APP_COMPONENTS), path.join(__dirname, setting.NODE_MODULES), ] }, plugins: (function() { let result = []; if (setting.MODE === 'PRODUCTION') { Array.prototype.push.apply(result, [ new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('production') }, 'SETTING': JSON.stringify(setting) }), new webpack.optimize.DedupePlugin(), new webpack.optimize.AggressiveMergingPlugin(), new webpack.optimize.UglifyJsPlugin({ output: {comments: false} }), new webpack.optimize.OccurenceOrderPlugin() ]); } else { Array.prototype.push.apply(result, [ new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('development') }, 'SETTING': JSON.stringify(setting) }) ]); } return result; })() }; return result; })(); return config; }
また、moduleのところをwebpack2の書き方(rules,useなど)にしたところ、classなどがコンパイルされず、エラーも出ませんでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。