2016-11-21 7 views
2

를 구축 : 당신이 볼 수 있듯이축소하면 유일한 JS 파일은 내 생산 빌드 내가 웹팩을 사용하고

module.exports = { 
 
    devtool: 'source-map', 
 
    entry: [ 
 
     'babel-polyfill', 
 
     './src/index' 
 
    ], 
 
    output: { 
 
     filename: 'bundle.js', 
 
     path: path.join(__dirname, 'dist') 
 
    }, 
 
    plugins: [ 
 
     new webpack.optimize.OccurenceOrderPlugin(), 
 
     new webpack.optimize.DedupePlugin(), 
 
     new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /en|he/), 
 
     new webpack.DefinePlugin({ 
 
      'process.env.NODE_ENV': JSON.stringify('production') 
 
     }), 
 
     new ExtractTextPlugin('style.css'), 
 
     new webpack.optimize.UglifyJsPlugin({ 
 
      compressor: { 
 
       warnings: false 
 
      } 
 
     }) 
 
    ], 
 
    module: { 
 
     loaders: [ 
 
      { 
 
       test: /\.js$/, 
 
       loaders: ['babel'], 
 
       include: path.join(__dirname, 'src'), 
 
       exclude: path.join(__dirname, 'src', 'test') 
 
      }, 
 
      { 
 
       test: /\.scss$/, 
 
       loader: ExtractTextPlugin.extract('css?-minimize!sass!postcss-loader'), 
 
       include: path.join(__dirname, 'src', 'styles') 
 
      }, 
 
      { 
 
       test: /\.(jpe?g|png|gif)$/i, 
 
       loader: 'url?limit=8192', 
 
       include: path.join(__dirname, 'assets') 
 
      }, 
 
      { 
 
       test: /\.svg$/, 
 
       loader: 'babel!svg-react', 
 
       include: path.join(__dirname, 'assets') 
 
      } 
 
     ] 
 
    }, 
 
    postcss: [autoprefixer({ browsers: ['last 2 versions'] })] 
 
};

이 코드는 UglifyJsPlugin에 의해 축소 된입니다. 문제는 CSS 파일 (ExtractTextPlugin으로 압축을 푼)을 축소하는 것입니다. 빌드 후 처리하기 위해 CSS 축소를 피하고 싶습니다.

내 JS 파일 만 축소하도록 플러그인에 알릴 수 있습니까?

감사합니다,
토 메르

+0

빌드를 여러 조각으로 나누고'UglifyJsPlugin'에서 CSS 덩어리를 제외하려고했지만 성공하지 못했습니다. – tomericco

답변

-1

참조 : Webpack Uglify errors in CSS 당신 작업 ... test이 정규식에 의해 추하게 및 필터 파일을

new webpack.optimize.UglifyJsPlugin({ 
    test: /\.(js|jsx)$/ 
}) 

또는 추가 할 수 있습니다 ...

하나 하나에 모든 것을 할 필요가 없습니다. webpack.config.js.

CSS를 별도의 파일로 작성했기 때문에 두 개의 webpack.config 파일을 만들어야합니다. 하나는 j를, 다른 하나는 css 파일입니다. 둘 다 구축하는 것을 잊지 마십시오.

+0

의견을 보내 주셔서 감사합니다. 첫 번째 솔루션은 작동하지 않습니다. 'UglifyJsPlugin'은 이미'bundle.js'에 번들 된 코드를 얻습니다. 그래서 regexp를 필터링하는 것은 쓸모가 없습니다. 두 번째 문제는 예상대로 작동 할 수 있지만 빌드 프로세스에서 너무 많은 변경이 발생하여이를 방지하고 싶습니다. – tomericco