本文小编为大家详细介绍“vue与django怎么实现集成打包”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue与django怎么实现集成打包”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
1.首先创建 django项目 并在 django项目文件下创建vue项目
2.修改django项目文件下的setting.py
修改django模板路径 指向 vue项目的dist
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR+"/vue-resources/dist"], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
修改django静态文件路径
# Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.2/howto/static-files/ STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "vue-resources/dist/static/") ]
这样基本就可以了
3.vue打包配置
由于django和vue都可以起一个服务,导致多个域名这样测试api的时候就会需要跨域等等问题,而直接用run build 打包文件过于耗时 大概20-40秒时间。
理想的状态是,不用多个域名,且修改一个文件能快速打包。 那么最好的方式就是提高build的速度。
我的方式是:
1.复制wepack.dev.config.js文件 起名 webpack.watch.config.js
2.修改配置信息
(1)添加输出配置 (用这个配置打包大概2-3秒)
output: { path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[hash].js'), chunkFilename: utils.assetsPath('js/[id].[hash].js') },
(2)可选修改可有效提高打包速度 (用这个配置大概在1秒内)
devtool: false,
3.创建新的打包命令 package.json
"scripts": { ... "watch": "webpack --watch --config build/webpack.watch.conf.js", ... },
这样就实现了监听更新的效果 npm run watch
注:本配置只是方便本地开发
读到这里,这篇“vue与django怎么实现集成打包”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。