2016-11-08 3 views
1

По какой-то причине я не могу заставить webpack перестраивать мои файлы при изменении. Я в основном следовал за Browsersync - Webpack + TypeScript Recipe.Webpack Not Rebuilding on Change

Мои webpack.config.js:

let path = require('path'); 
let webpack = require('webpack'); 

let config = { 
    debug: true, 
    devtool: 'eval', 
    entry: './app/index.ts', 
    output: { 
    publicPath: '/', 
    path: path.join(__dirname, 'wwwroot'), 
    filename: 'bundle.js' 
    }, 
    plugins: [], 
    resolve: { 
    extensions: ['', '.ts', '.js'] 
    }, 
    module: { 
    loaders: [ 
     { test: /\.ts$/, loader: 'ts', include: path.join(__dirname, 'app') } 
    ] 
    } 
}; 
module.exports = config; 

Моей конфигурация браузера синхронизации (server.js), который я буквально скопирован из рецепта:

var browserSync   = require('browser-sync').create(); 
var webpack    = require('webpack'); 
var webpackDevMiddleware = require('webpack-dev-middleware'); 
var stripAnsi   = require('strip-ansi'); 
var webpackConfig = require('./webpack.config'); 
var bundler  = webpack(webpackConfig); 

bundler.plugin('done', function (stats) { 
    if (stats.hasErrors() || stats.hasWarnings()) { 
     return browserSync.sockets.emit('fullscreen:message', { 
      title: "Webpack Error:", 
      body: stripAnsi(stats.toString()), 
      timeout: 100000 
     }); 
    } 
    browserSync.reload(); 
}); 

browserSync.init({ 
    server: 'wwwroot', 
    open: false, 
    logFileChanges: false, 
    middleware: [ 
     webpackDevMiddleware(bundler, { 
      publicPath: webpackConfig.output.publicPath, 
      stats: {colors: true} 
     }) 
    ], 
    plugins: ['bs-fullscreen-message'], 
    files: [ 
    ] 
}); 

И начать все это я просто использовать раздел НПХ скриптов:

"scripts": { 
    "build": "node server" 
}, 

Всякий раз, когда я изменяю файл машинописного текста в app/ ничего не происходит. Что я здесь делаю неправильно?

ответ

2

Исправлена ​​ошибка, заключающаяся в том, что явным образом добавляю раздел чата в конфигурацию промежуточного программного обеспечения для webpack dev.

В соответствии с поручением здесь является изменение конфигурации:

browserSync.init({ 
    ... 
    middleware: [ 
    webpackDevMiddleware(bundler, { 
     // Explicitly set watch options: 
     watchOptions: { 
     aggregateTimeout: 300, 
     poll: true 
     } 
    }) 
    ] 
}); 
+0

Можете ли вы поделиться фактическое изменение от конфигурационного файла – Neil

+1

@Neil там вы идете :) – Bob