2016-06-19 3 views
2

내 웹팩 구성은 웹팩의 모든 청크를 축소에되지 않습니다UglifyJS 플러그인은

{ devtool: 'source-map', 
 
    output: 
 
    { path: '/Users/apple/Desktop/WorkSpace/GitHub/Webpack-Boilerplate/dist', 
 
    filename: '[name].bundle.js.[hash:8]', 
 
    sourceMapFilename: '[name].bundle.map', 
 
    publicPath: '/' }, 
 
    plugins: 
 
    [ OccurrenceOrderPlugin { preferEntry: undefined }, 
 
    DefinePlugin { definitions: [Object] }, 
 
    ProvidePlugin { definitions: {} }, 
 
    ExtractTextPlugin { filename: '[name].css', options: {}, id: 1 }, 
 
    CommonsChunkPlugin { 
 
     chunkNames: 'vendors', 
 
     filenameTemplate: 'vendors.bundle.js', 
 
     minChunks: Infinity, 
 
     selectedChunks: undefined, 
 
     async: undefined, 
 
     minSize: undefined, 
 
     ident: '/Users/apple/Desktop/WorkSpace/GitHub/Webpack-Boilerplate/node_modules/webpack/lib/optimize/CommonsChunkPlugin.js0' }, 
 
    HtmlWebpackPlugin { options: [Object] }, 
 
    HtmlWebpackPlugin { options: [Object] }, 
 
    HtmlWebpackPlugin { options: [Object] }, 
 
    HtmlWebpackPlugin { options: [Object] }, 
 
    UglifyJsPlugin { options: [Object] } ], 
 
    module: { loaders: [ [Object], [Object], [Object], [Object] ] }, 
 
    postcss: 
 
    [ { [Function] 
 
     options: [Object], 
 
     info: [Function], 
 
     postcssPlugin: 'autoprefixer', 
 
     postcssVersion: '5.0.14' }, 
 
    { [Function: creator] postcss: [Object], process: [Function] } ], 
 
    resolve: 
 
    { alias: 
 
     { libs: '/Users/apple/Desktop/WorkSpace/GitHub/Webpack-Boilerplate/dev-config/libs', 
 
     nm: '/Users/apple/Desktop/WorkSpace/GitHub/Webpack-Boilerplate/dev-config/node_modules', 
 
     assets: '/Users/apple/Desktop/WorkSpace/GitHub/Webpack-Boilerplate/dev-config/assets' } }, 
 
    externals: { jquery: 'jQuery', pageResponse: 'pageResponse' }, 
 
    entry: 
 
    { index: './src/index.js', 
 
    helloworld: './src/modules/helloworld/container/app.js', 
 
    counter: './src/modules/counter/container/app.js', 
 
    form: './src/modules/form/form.js' } }

생성 vendors.bundle.js 덩어리가 축소 된 것이 이상이지만, 다른 덩어리가 아니다. 전체 프로젝트는 여기에 : https://github.com/wxyyxc1992/Webpack-React-Redux-Boilerplate, 단지 npm run build을 사용하여 프로젝트를 빌드하고 dist 디렉토리를보십시오.

+0

누구나 나중에이 문제가 발생하면 다음과 같이 크게 도움이 된 것을 발견했습니다. https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/104#issuecomment-358646531 – arthurakay

답변

1

일부 청크가 축소되지 않는 이유는 UglifyJS에서 오류가 발생하여 그 청크를 교체하기가 중단 되었기 때문일 수 있습니다. 컴파일 오류가 발생하지 않는 플러그인 오류입니다 (예 : compiler.options.bail 설정은 아무 효과가 없으며 편집되지 않은 컴파일을 얻습니다).

UglifyJS는 ES5 만 지원하는 자체 AST를 사용하며 여기서 문제는 ES5에 사용하는 모든 ES6/다음 구문을 변환하지 않았을 수 있다는 것입니다. uglify.verbose = true으로 UglifyJS를 구성하고 컴파일러가 실행되는 동안 플러그인에서 경고 및 오류 로그 출력을 볼 수 있는지 확인하십시오.

+0

감사합니다. 예를 들어, – Chevalier

+0

시도하지만 cmd를 uglifyjs 사용하는 동안 : uglifyjs --verbose dist/counter.bundle.js.0285fe1a -o dist/a.min.js 잘 작동합니다. – Chevalier

+0

여전히 도움이 될 것입니다. UglifyJS의 결과물을 볼 수 있었고, 그것이 축소 도중 청크를 중단하지 않았 음을 관찰 할 수있었습니다. –