【发布时间】:2021-11-09 12:49:46
【问题描述】:
我使用 Django+Vue 的组合,但我很难理解 vue-cli-service build 或 vue-cli-service serve 创建的名称是如何创建和工作的,以及如何在生产中设置它。
如果我没有动态组件导入,一切都会顺利进行。
我的vue.config.js 看起来像这样:
module.exports = {
pages: {
main: {
entry: "./src/main.js",
chunks: ["chunk-vendors"],
},
},
// Should be STATIC_URL + path/to/build
publicPath: "/front/",
// Output to a directory in STATICFILES_DIRS
outputDir: path.resolve(__dirname, "../_static/front/"),
// Django will hash file names, not webpack
filenameHashing: false,
productionSourceMap: false,
runtimeCompiler: true,
devServer: {
writeToDisk: true, // Write files to disk in dev mode, so Django can serve the assets
},
};
我只是在 Django 模板中引用这些文件:
<div id="app"></div>
<script type="text/javascript" src="{% static 'front/js/chunk-vendors.js' %}"></script>
<script type="text/javascript" src="{% static 'front/js/main.js' %}"></script>
但是一旦我开始使用动态组件,就像这样:
const User = () => import("./components/User")
一切都停止工作,另外webpack在静态文件夹中创建了一些带有哈希名称的js文件,我无法弄清楚逻辑(所以我无法在模板中引用它们。
【问题讨论】: