Вывод файла bundle.js и webpack-dev-server
У меня есть эта конфигурация вывода в моем файле webpack.config:
config = {
...
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: 'http://localhost:8090/'
},
... }
Пакет bundle.js не записывается в путь, указанный в path
; он доступен только через
веб-сервер, тогда как я хотел бы обоим.
Что я должен изменить, чтобы иметь как файл, так и веб-сервер?
Ответы
Ответ 1
При запуске webpack-dev-сервера вы на самом деле не собираете и не перестраиваете пакет веб-пакетов, а обслуживаете его только из памяти.
По моему опыту, путь вокруг этого состоит в том, чтобы запустить два экземпляра, если вы хотите иметь фактическую сборку, а также webpack-dev-сервер. Итак, в одном окне терминала
webpack --watch
running (webpack --watch перестроит фактический пакет). Затем в другом терминале есть
webpack-dev-server
работает, (webpack-dev-сервер будет жить и загружать из памяти новую сборку).
Ответ 2
Этот плагин заставит webpack-dev-server
также записывать файлы пакетов, исключая необходимость запуска двух процессов в терминале.
gajus/write-file-webpack-plugin
Ответ 3
Похоже, это теперь встроенная опция. Вы можете добавить следующее в ваш файл конфигурации webpack.
devServer: {
writeToDisk: true
}
Похоже, это было добавлено начиная с версии 3.1.10 webpack-dev-server