2016-03-06 2 views
1

Привета Я сейчас пытаюсь научиться использовать выражение наряду с webpacks ГМРОМ, и каждый раз, когда я обновить и сохранить файл, он дает мне ошибку:HMR не работает после перемещения файлов/приложений папки

«Следующие модули не могут быть горячими обновлены:« «./app/components/App.js»

Что-то не так с моими текущими конфигурационными файлами?

Так у меня есть структура каталогов вроде этого:

todos 
    | 
    app 
     | 
    package.son 
    server.js 
    webpack.config.js 

и у меня есть файл webpack.config.js и server.js файл, который выглядит следующим образом:

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


module.exports = { 
    context: path.join(__dirname + "/app"), 

    entry: ['./index'], 
    output: { 
    path: "/bundle", 
    publicPath: '/static/', 
    filename: "bundle.js" 
    }, 
    module: { 
    loaders: [ 
    { 
     test: /\.jsx?$/, 
     exclude: /(node_modules|bower_components)/, 
     loader: 'babel', 
     query: { 
      presets: ['react', 'es2015'] 
     } 
     } 
    ] 
    }, 
    resolve: { 
    extensions: ['', '.js', '.jsx'] 
    } 

}; 

сервера .js

var webpack = require('webpack') 
var webpackDevMiddleware = require('webpack-dev-middleware') 
var webpackHotMiddleware = require('webpack-hot-middleware') 
var config = require('./webpack.config') 

var app = new (require('express'))() 
var port = 3000 

var compiler = webpack(config) 
app.use(webpackDevMiddleware(compiler, { noInfo: true, publicPath: config.output.publicPath })) 
app.use(webpackHotMiddleware(compiler)) 

app.get("/", function(req, res) { 
    res.sendFile(__dirname + '/app/index.html') 
}) 

app.listen(port, function(error) { 
    if (error) { 
    console.error(error) 
    } else { 
    console.info("==> Listening on port %s. Open up http://localhost:%s/ in your browser.", port, port) 
    } 
}) 

ответ

2

Вы пробовали принять модуль? В WebPack ГМР documentation он говорит следующее:

A module can only be updated if you “accept” it. So you need to module.hot.accept the module in the parents or the parents of the parents. For example, a router or a subview would be a good place.

Попробуйте это в вашем index.js файле или где-модуль, который вы хотите HMR перезарядить:

if (module.hot) { 
module.hot.accept(); 
} 
Смежные вопросы