###前提・実現したいこと
タイトルにあるエラーを解決したいです。
環境はwebpack2系でバンドルを行っており、その過程でproduction buildしたいのですがUglifyJSPlugin
等を使っても上記のエラーが出てしまい困っています。
エラーが出るのは、remark-parse
などを呼び出しているときです。このライブラリを呼び出す過程でwebpack.config.js
のresolve
のextensions
に.json
の拡張子を付け足す必要がありました。
この状態でuglifyすると上記のエラーが出ます。remark-parse
を使わない状態(jsonファイルの解決を行っていない環境)ではエラーは出ません。
###該当のソースコード
上記の説明にあるwebpack.config.js
です。
js
1/* eslint comma-dangle: ["error", 2 {"functions": "never", "arrays": "only-multiline", "objects": 3 "only-multiline"} ] */ 4 5const webpack = require('webpack'); 6const ExtractTextPlugin = require('extract-text-webpack-plugin'); 7const pathLib = require('path'); 8const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); 9const devBuild = process.env.NODE_ENV !== 'production'; 10 11const config = { 12 entry: [ 13 'es5-shim/es5-shim', 14 'es5-shim/es5-sham', 15 'babel-polyfill', 16 './entry/application', 17 ], 18 19 output: { 20 filename: 'webpack-bundle.js', 21 path: pathLib.resolve(__dirname, '../app/assets/webpack'), 22 }, 23 24 resolve: { 25 // extensions: ['.js', '.jsx', '.css', '.scss'], 26 extensions: ['.js', '.jsx', '.json', '.css', '.scss'], 27 }, 28 plugins: [ 29 new webpack.EnvironmentPlugin({ NODE_ENV: 'development' }), 30 new ExtractTextPlugin('webpack-bundle.css'), 31 new UglifyJSPlugin(), 32 ], 33 module: { 34 rules: [ 35 { 36 test: require.resolve('react'), 37 use: { 38 loader: 'imports-loader', 39 options: { 40 shim: 'es5-shim/es5-shim', 41 sham: 'es5-shim/es5-sham', 42 } 43 }, 44 }, 45 { 46 test: /\.jsx?$/, 47 use: 'babel-loader', 48 exclude: /node_modules/, 49 }, 50 { 51 test: /\.json$/, 52 use: 'json-loader' 53 }, 54 { 55 test: /\.(scss|sass|css)$/i, 56 use: ExtractTextPlugin.extract({ 57 fallback: 'style-loader', 58 use: [ 59 { loader: 'css-loader', options: { minimize: !devBuild } }, 60 'postcss-loader', 61 'sass-loader' 62 ], 63 }), 64 } 65 ], 66 }, 67}; 68 69module.exports = config; 70 71if (devBuild) { 72 console.log('Webpack dev build for Rails'); // eslint-disable-line no-console 73 module.exports.devtool = 'eval-source-map'; 74} else { 75 console.log('Webpack production build for Rails'); // eslint-disable-line no-console 76}
###試したこと
調べるとuglifyにはharmonyもあるようですが、追加してみても動きませんでした(yarn add --dev git+https://github.com/mishoo/UglifyJS2.git#harmony
)。
###補足情報(言語/FW/ツール等のバージョンなど)
あまり関係ないかもしれませんが、react_on_rails
の環境で開発をしています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。