2016-05-06 30 views
12

द्वारा संकलित किए जाने पर मेरा पूरा कोड दो बार चलता है जब मैं webpack-dev-server का उपयोग करके वेबपैक के साथ अपना जेएस बंडल बनाता हूं तो मेरा कोड हर बार दो बार चलता है। सुनिश्चित नहीं है कि इसे कैसे ठीक किया जाए।वेबपैक

Screenshot of Developer Tools console

मेरे webpack config:

var path = require('path'); 
var webpack = require('webpack'); 
var HtmlWebpackPlugin = require('html-webpack-plugin'); 
var CopyWebpackPlugin = require('copy-webpack-plugin'); 

module.exports = { 
    devtool: 'cheap-eval-sourcemap', 
    entry: [ 
    'webpack-dev-server/client?http://localhost:8080', 
    'webpack/hot/dev-server', 
    path.join(__dirname, '../src/main') 
    ], 
    output: { 
    path: path.join(__dirname, '../dist'), 
    filename: 'bundle.js' 
    }, 
    plugins: [ 
    new webpack.HotModuleReplacementPlugin(), 
    new webpack.optimize.OccurenceOrderPlugin(), 
    new HtmlWebpackPlugin({ 
     template: path.join(__dirname, '../src/index.html') 
    }), 
    new CopyWebpackPlugin([ 
     { 
     from: path.join(__dirname, '../assets'), 
     to: path.join(__dirname, '../dist/assets') 
     } 
    ]) 
    ], 
    devServer: { 
    contentBase: path.join(__dirname, '../dist'), 
    outputPath: '/lol', 
    hot: true 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.js$/, 
     loaders: ['babel-loader'], 
     include: path.join(__dirname, '../src') 
     } 
    ] 
    } 
}; 
+0

मैं थोड़ी देर के लिए एक ही व्यवहार देख रहा हूं। यह रास्ते में कहीं भी एक रिग्रेशन की तरह लगता है। मुझे कॉन्फ़िगरेशन के साथ स्पष्ट रूप से कुछ भी गलत नहीं दिख रहा है क्योंकि यह मेरे द्वारा उपयोग किए जाने वाले समान है। यदि आप इनलाइन मोड में dev सर्वर चलाते हैं तो आप वही व्यवहार प्राप्त कर सकते हैं ('इनलाइन: सत्य' + उन dev सर्वर से संबंधित प्रविष्टियों को छोड़ दें)। मुझे लगता है कि इसे हल करने के लिए हमें कोड में खोदना होगा। –

+0

यह https://stackoverflow.com/questions/37447858/webpack-adding-duplicates-of-runtime-into-bundle/37466820#37466820 से संबंधित हो सकता है। –

उत्तर

26
टेम्पलेट फ़ाइल में

आप मैन्युअल रूप से एक बंडल लोड हो रहा है जोड़ दिया हो।

आप बंडल फिर से जोड़ दी जाती है

new HtmlWebpackPlugin({ 
    template: path.join(__dirname, '../src/index.html') 
}), 

में

inject: false 

विकल्प नहीं है, तो।

+2

शिज़, आप एक जीवन बचतकर्ता हैं। सौभाग्य से तब से मैंने वेबपैक कॉन्फ़िगरेशन फ़ाइल को फिर से लिखा और गलत लगाया, पता नहीं था कि यह मुद्दा था। धन्यवाद! –

+2

duudde आपने अपना जीवन बचाया। मैं इस मुद्दे के साथ पागल हो रहा था –

+0

क्या एक सुपर पागल बग: -O –