Это, похоже, обычная проблема, но после нескольких дней активных поисков я не нашел решения, которое работает в моем случае.Webpack --watch не работает в Windows (и webpack-dev-server)
- Windows7-x64
- узел: 6.3.0-64 (также пытались узел-V4.4.7-x64)
- НПМ: 3.10.3
- WebPack: 1.13.1
- возвышенного текст (не Vim)
Прежде всего, я не могу установить fsevents на окна, которые могут быть проблемы, потому что это библиотека для просмотра на OS X.
D:\file>npm install webpack
[email protected] D:\file
`-- [email protected]
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: [email protected]
Так что, если ваши --watch
работы на окнах, скажите, пожалуйста, есть ли у вас такая же проблема с пропуская fsevents при установке Webpack ?
Во-вторых, webpack --watch
делает компиляции файла, но он не смотрит на всех.
E.g. если я использую стилус часы, то это фактически блокирует мою командную строку, пока не будет нажата CTRL + C
D:\file>stylus -w style.styl
watching C:/Users/...
compiled style.css
watching style.styl
_
И только после того, как Ctrl + C будет разблокировать мою клавиатуру.
^CTerminate batch job (Y/N)? y
Хотя webpack -w
совершенно иная. Это не просто компиляция файла об изменениях, но он также не просматривается вообще. Я имею в виду, что после ввода команды webpack --watch
он компилирует файл один раз, но он не блокирует мою клавиатуру и поэтому позволяет мне написать еще одну команду.
D:\webpa>webpack main.js bundle.js
D:\webpa>webpack -w main.js bundle.js
D:\webpa>webpack --watch main.js bundle.js
D:\webpa>
То же самое с webpack-dev-server
- он начинает сервер, но затем сразу же завершает его.
D:\webpa>webpack-dev-server --hot --inline
http://localhost:8080/
webpack result is served from/
content is served from D:\webpa
D:\webpa>
Похоже, что проблема не с webpack.config.js, потому что он не смотрит даже с помощью команды webpack --watch main.js bundle.js
, но в любом случае, вот мой основной конфигурации.
var webpack = require('webpack');
module.exports = {
context: __dirname,
entry: "./main.js",
output: {
path: __dirname,
filename: "bundle.js"
},
};
И я пробовал много других вариантов:
var webpack = require('webpack');
var path = require('path');
var entry = path.join(__dirname, "main.js");
var WebpackNotifierPlugin = require('webpack-notifier');
module.exports = {
context: __dirname,
entry: entry,
output: {
path: __dirname,
filename: "bundle.js"
},
resolve: {root: [__dirname]},
resolve: { fallback: path.join(__dirname, "node_modules") },
resolveLoader: { fallback: path.join(__dirname, "node_modules") },
plugins: [
new webpack.OldWatchingPlugin(),
new WebpackNotifierPlugin(),
new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin("bower.json", ["main"])
),
new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors/js/applibs.js'),
new webpack.optimize.DedupePlugin()
]
};
Как я уже говорил, проблема, как представляется, не в webpack.config.JS
Я также пытался что-то вроде:
echo fs.inotify.max_user_watches=524288
webpack-dev-server --content-base ./ --port 9966 --hot --inline
webpack --watch --watch-poll
rename/move/create new folder, reinstall node.js and webpack
Так что да, если у вас этот вопрос, и вы решить это, пожалуйста, поделитесь некоторой информацией.
- У вас возникли проблемы с установкой fsevents?
- Ваша команда
webpack --watch
блокирует вашу клавиатуру и фактически просматривает, но просто не компилирует файлы после изменений? Или он заканчивал смотреть сразу, как в моем случае? - Любые другие предложения по использованию, кроме
--watch
иwebpack-dev-server
?
Спасибо!
fsevents может быть l как отдельная вещь. Я получаю те же предупреждения в Windows, и это не проблема, поэтому вы можете это устранить. – mjohnsonengr
Мне также повезло с добавлением 'watchOptions: { aggregateTimeout: 300, опрос: 1000 },' в конфигурацию моего dev-сервера. Я должен был фактически создать конфигурацию сервера dev, а не просто полагаться на CLI webpack-dev-server. См. Https://webpack.github.io/docs/configuration.html#devserver – mjohnsonengr
@mjohnsonengr, спасибо за вашу помощь! Да, я забыл упомянуть, что я также пробовал 'watchOptions: {aggregateTimeout: 300, poll: 1000},', но это не сработало. Можете ли вы поделиться своей конфигурацией webpack.config.js и dev-сервера? И, кстати, ваш '--watch' работает правильно с самого начала? – SamAI