2015-11-02 5 views
2

У меня проблема с производительностью при использовании webpack-dev-сервера для компиляции моего актива. По какой-то причине webpack-dev-сервер очень медленно восстанавливает. webpack -watch примерно на 90% быстрее.webpack-dev-server перестраивает очень медленно

мой WebPack конфигурации:

var webpackConfig = { 
        entry: { 
         router: [ 
          'webpack-dev-server/client?https://localhost:3000', 
          'webpack/hot/only-dev-server', 
          '<%= pkg.main %>' 
         ] 
        }, 
        output: { 
         filename: './js/v2/bundle.js', 
         publicPath: 'https://localhost:3000/' 
        }, 
        module: { 
         loaders: moduleLoaders 
        }, 
        resolve: { 
         root: jsFilePaths, 
         extensions: ['', '.js', '.jsx', '.css'], 
         alias: webpackAlias, 
         fallback: ["./node_modules"] 
        }, 
        resolveLoader: { 
         root: path.join(__dirname, "node_modules") 
        }, 
        devtool: 'eval-source-map', 
        watch: true, 
        profile: true, 
        json: true, 
        cache: true, 
        keepAlive: true, 
        plugins: [ 
         new webpack.NoErrorsPlugin(), 
         new webpack.HotModuleReplacementPlugin() 
        ] 
       }; 

Мой WebPack-DEV-сервер конфигурации (с помощью хрюканье):

"webpack-dev-server": { 
     options: { 
      webpack: webpackConfig, 
      publicPath: webpackConfig.output.publicPath, 
      port: 3000, 
      https:true, 
      host: "localhost", 
      contentBase: "https://localhost", 
      hot: true, 
      headers: { 'Access-Control-Allow-Origin': '*' } 
     }, 
     start: { 
      keepAlive: true 
     } 

Похоже WebPack-DEV-сервер не использует это кэш правильно или что-то , Любые идеи были бы ему полезными.

ответ

4

Проблема была в разрешении: корень.

Оригинальные jsFilePaths:

var jsFilePaths = [ 
         'js/v2/components', 
         'js/v2/components/shared' 
        ]; 

Новые jsFilePaths:

var jsFilePaths = [ 
         __dirname + path.sep + 'js\\v2\\components', 
         __dirname + path.sep + 'js\\v2\\components\\shared' 
        ]; 

Видимо это требуется только, если вы на Windows. Webpack, похоже, не ищет зависимости, если путь является unix-форматом.

Смежные вопросы