У меня таинственное поведение при использовании webpack в vue-приложении.
У меня есть несколько путей просмотра, хранящихся в моей базе данных, и я динамически импортирую представления в цикл for, например
for(let i = 0; i < routesList.length; i++) {
const viewPath = routesList[i];
const view = () => import('views/' + viewPath);
/* create a vue router object here */
}
Это работает абсолютно нормально, но как только я использую WebpackChunkName
, все будущие изменения в моих vue-файлах не компилируются .Приложение, похоже, использует какие-то кэшированные файлы.Хотя npm watch распознает изменения и правильно перекомпилирует их.
const view = () => import(/* webpackChunkName: "views" */ 'views/' + viewPath);
Еще одна странная вещь, на которую следует обратить внимание, это то, что чанк назван так:
views0
views2
views4
- и т. Д.
Приложение работает в дистрибутиве Debian 8.Это настройки вывода моего webpack.mix.js
файла
output: {
path: path.resolve(__dirname, 'demo'),
publicPath: '/demo/', // due to shared hosting
filename: `[name].${mix.inProduction() ? '[chunkhash].' : ''}js`,
chunkFilename: `[name].${mix.inProduction() ? '[chunkhash].' : ''}js`
}
Кто-нибудь сталкивался с чем-то подобным?На самом деле я ничего не понимаю о том, что не так ... Я даже пытался удалить скомпилированные чанки и mix-manifest.json
в выходной папке и перекомпилировал их снова и снова.Но это не меняет ситуацию.
Связано
// Редактировать
- 9/27 - Что касается связанных проблем на github, может быть проблема с моими путями в файле конфигурации webpack?
- 9/28 - Похоже, что это происходит нерегулярно.Обновление моих пакетов npm вчера заставило это работать на мгновение.Сегодня я снова застрял в том же состоянии.