2015-04-13 16 views
6

Tôi đang thử nghiệm javascript sản xuất của mình bằng cách sử dụng minifcation bằng webpack. Nó hoạt động tốt unminified nhưng khi tôi thêm -p cờ:Giảm kích thước Webpack -p lỗi

NODE_ENV=production ./node_modules/webpack/bin/webpack.js -p --progress --colors 

tôi nhận được cảnh báo và có những sai sót javascript. Xuất hiện nó loại bỏ những thứ nó không nên. Không thể hiểu tại sao.

Cảnh báo:

WARNING in client.js from UglifyJs 
Side effects in initialization of unused variable React [./~/fluxible/lib/Fluxible.js:12,0] 
Dropping unused function $$$enumerator$$makeSettledResult [./~/fluxible/~/es6-promise/dist/es6-promise.js:361,0] 
Side effects in initialization of unused variable $$utils$$now [./~/fluxible/~/es6-promise/dist/es6-promise.js:35,0] 
Side effects in initialization of unused variable $$utils$$o_create [./~/fluxible/~/es6-promise/dist/es6-promise.js:38,0] 
Dropping unused variable internals [./~/react-router/~/qs/lib/utils.js:6,0] 
Dropping side-effect-free statement [./~/fluxible/addons/provideContext.js:6,0] 
Side effects in initialization of unused variable Action [./~/fluxible/~/dispatchr/lib/Dispatcher.js:7,0] 
Dropping unused variable internals [./~/react-router/~/qs/lib/index.js:9,0] 

Dưới đây là webpack.config.js tôi

var ExtractTextPlugin = require('extract-text-webpack-plugin'); 
var path = require('path'); 


module.exports = { 
    entry: [ 
    './client.js', 
    ], 

    output: { 
    path: path.join(__dirname, 'assets'), 
    filename: 'client.js', 
    publicPath: '/assets', 
    }, 

    plugins: [ 
    new ExtractTextPlugin('styles.css'), 
    ], 

    module: { 
    loaders: [ 
     { test: /\.(js|jsx)$/, exclude: /node_modules\/(?!react-router)/, loader: 'react-hot!babel-loader?stage=0' }, 
     { 
     test: /\.scss$/, 
     loader: ExtractTextPlugin.extract(
        // activate source maps via loader query 
        'css?sourceMap!' + 
        'sass?sourceMap' 
       ) 
     }, 
     // bootstrap 
     { 
     test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: 'url-loader?limit=10000&mimetype=application/font-eot', 
     }, 
     { 
     test: /\.(woff)(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: 'url-loader?limit=10000&mimetype=application/font-woff', 
     }, 
     { 
     test: /\.(woff2)(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: 'url-loader?limit=10000&mimetype=application/font-woff2', 
     }, 
     { test: /\.js$/, include: /node_modules\/bootstrap/, loader: 'imports?jQuery=jquery' }, 
    ], 
    }, 
}; 

Cảm ơn

+0

những cảnh báo văn bản là tự giải thích, thực sự. Và không ai trong số họ đề cập đến mã của bạn, phải không? – zerkms

+0

Tôi đoán tôi đã không giải thích tốt nhưng cảnh báo không có ý nghĩa gì cả. Chạy webpack mà không có cờ -p tạo một gói client.js mà không có bất kỳ lỗi nào. Ví dụ, 'Tác dụng phụ khi khởi tạo biến React' chưa được sử dụng ... React là một trong những thư viện lõi mà tôi đang sử dụng. Không biết làm thế nào mà nó cho rằng React không được sử dụng. – captainill

+0

Đó không phải là lỗi, đó là những cảnh báo. Gói của bạn được biên soạn và sẵn sàng để sử dụng. "Không có ý tưởng làm thế nào nó cho rằng React là không sử dụng" --- nó được sử dụng, không phải ở khắp mọi nơi có một tham chiếu đến nó mặc dù. – zerkms

Trả lời

0

Những cảnh báo bạn thấy là do thực tế rằng bộ nạp được phân tích cú pháp phụ thuộc node_module của bạn. Kể từ khi chỉ bạn đã loại trừ bất cứ điều gì là phù hợp /node_modules/(?! phản ứng-router)/

Thay vì sử dụng các tùy chọn exclude cho xe nâng bốc mô-đun, hãy thử chỉ trắng liệt kê các module bạn muốn nạp với include

exclude nên được sử dụng để loại trừ trường hợp ngoại lệ cố gắng thích include khi có thể để phù hợp với danh bạ

Các vấn đề liên quan