Я пытаюсь настроить среду для своего приложения React, используя Webpack и Babel. Я использую JSX для реализации компонентов, и я хотел бы использовать перезагрузку в реальном времени.
Вот мой package.json
файл:
{
(...)
"scripts": {
"start": "webpack-dev-server --hot --inline"
},
"dependencies": {
"babel-loader": "^6.2.4",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react": "^6.11.1",
"jsx-loader": "^0.13.2",
"react": "^15.1.0",
"react-dom": "^15.1.0",
"react-hot-loader": "^1.3.0",
"webpack": "^1.13.1",
"webpack-dev-server": "^1.14.1"
}
}
Вот моя конфигурация Webpack:
var webpack = require('webpack');
var path = require('path');
var BUILD_DIR = path.resolve(__dirname, 'src/client/public');
var APP_DIR = path.resolve(__dirname, 'src/client/app');
var config = {
entry: [
'webpack-dev-server/client?http://0.0.0.0:8080',
'webpack/hot/only-dev-server',
APP_DIR + '/index.jsx'
],
output: {
path: BUILD_DIR,
filename: 'bundle.js'
},
module : {
loaders : [
{
test : /\.jsx?/,
include : APP_DIR,
loaders: ['react-hot', 'babel']
}
]
},
plugins: [
new webpack.HotModuleReplacementPlugin()
]
};
module.exports = config;
После выполнения npm run start
и с этой конфигурацией я вижу в своей консоли, что обновления в файле JSX обнаруживаются, но браузер не обновляется. Более того, если я просматриваю файл module.js
, мои обновления не учитываются.
Выполнив команду webpack -d
, они...
См. этот репозиторий: https://github.com/templth/react-webpack-hot-reload а>.
Дополнительные подсказки. Я вижу следующие следы в консоли JavaScript браузера:
[HMR] Waiting for update signal from WDS...
Download the React DevTools for a better development experience: https://(...)/react-devtools
XHR finished loading: GET "http://localhost:8080/sockjs-node/info?t=1467375470671".AbstractXHRObject._start @ abstract-xhr.js:132(anonymous function) (...)
[WDS] Hot Module Replacement enabled.
[WDS] App updated. Recompiling...
[WDS] App hot update...
[HMR] Checking for updates on the server...
GET http://localhost:8080/src/client/0cf06dae430007853b6f.hot-update.json 404 (Not Found)hotDownloadManifest @ bootstrap (...)
[HMR] Cannot find update. Need to do a full reload!
only-dev-server.js:28 [HMR] (вероятно, из-за перезапуска сервера webpack-dev)
и в консоли, которая запустила сервер разработки webpack
Hash: 85771179bfa8706bc10f
Version: webpack 1.13.1
Time: 275ms
Asset Size Chunks Chunk Names
bundle.js 991 kB 0 [emitted] main
0.8073da5d40a8dd413f96.hot-update.js 3.6 kB 0, 0 [emitted] main, main
8073da5d40a8dd413f96.hot-update.json 36 bytes [emitted]
chunk {0} bundle.js, 0.8073da5d40a8dd413f96.hot-update.js, 0.8073da5d40a8dd413f96.hot-update.js (main) 897 kB [rendered]
[76] ./src/client/app/index.jsx 3.58 kB {0} [built]
+ 255 hidden modules
webpack: bundle is now VALID.
Большое спасибо за вашу помощь!