как продолжать использовать html-файлы из общей папки в проекте vue в MPA (многостраничное приложение)
Я использую приложения vue в своих шаблонах django, используя webpack_loader
. Есть много примеров, как это сделать (например, https://blog.gundammc.com/vue-js-django/), и все работает нормально.
Загадка в том, что когда я бегу yarn serve
(или npm run serve
), приложение отображается правильно на соответствующих страницах Django, но я не могу получить доступ к приложениям vue напрямую по ссылке, предоставленной serve
команда. И было бы неплохо иметь доступ к "чистой" странице приложения vue без запущенного сервера Django, потому что было бы намного удобнее сначала разработать приложение vue, а только потом монтировать его в Django.
Так, например, если я сделаю npm run serve
, сервер работает, и он сообщает мне, что:
App running at:
- Local: http://localhost:8080/
- Network: http://localhost:8080/
Но когда я пытаюсь получить доступ к localhost:8080 (или localhost:8080/APP_NAME_PAGE.html), ничего не отображается. Хотя само приложение правильно отображается в шаблоне django.
В vue.config.js
очень стандартно. Похоже на этот (заимствовано отсюда https://github.com/gundamMC/vue-django-multipage-example/blob/master/frontend/vue.config.js):
const BundleTracker = require("webpack-bundle-tracker");
module.exports = {
publicPath: "http://127.0.0.1:8080/",
outputDir: './dist/',
chainWebpack: config => {
config.optimization
.splitChunks(false)
config
.plugin('BundleTracker')
.use(BundleTracker, [{filename: '../frontend/webpack-stats.json'}])
config.resolve.alias
.set('__STATIC__', 'static')
config.devServer
.public('http://0.0.0.0:8080')
.host('0.0.0.0')
.port(8080)
.hotOnly(true)
.watchOptions({poll: 1000})
.https(false)
.headers({"Access-Control-Allow-Origin": ["\*"]})
},
pages: {
index: 'src/main.js',
new_page: 'src/new_page.js'
}
};
Я знаю, что эта часть:
config.optimization
.splitChunks(false)
заставляет vue не генерировать html-файлы, но даже если я закомментирую это, ничего не изменится. Что я делаю неправильно?