Я настраиваю базовое приложение vue с помощью vuetify / vue-router, и при загрузке базового URL '/' все работает нормально. Я могу без проблем нажимать на / управлять / продуктами.
Однако при загрузке / управлении / продуктами напрямую, набрав в адресной строке, я получаю эту ошибку:
Failed to load resource: the server responded with a status of 404 (Not Found)
Кажется, он хочет загрузить /manage/dist/build.js вместо /dist/build.js.
Могу ли я изменить свой webpack.config.js, чтобы убедиться, что вызывается правильный build.js?
output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
filename: 'build.js'
},
resolve: {
extensions: ['.js', '.vue'],
alias: {
'@' : path.resolve(__dirname, './src'),
'vue$': 'vue/dist/vue.esm.js',
'public': path.resolve(__dirname, './public')
}
}
vue-router режим 'hash' работает, но я бы хотел использовать режим 'history' для более чистых URL.
Для справки: я использовал этот шаблон
vue init vuetifyjs/webpack-simple
EDIT:
Я нашел решение.
Шаблон vuetifyjs / webpack-simple с самого начала имел неверную конфигурацию.
Внутри index.html я изменил:
<script src="./dist/build.js"></script>
до
<script src="/dist/build.js"></script>
И убедился, что эти опции присутствовали внутри webpack.config.js:
devServer: {
historyApiFallback: true
},