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静态文件路径
#Staticfiles(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的时候就会需要跨域等等问题,而直接用runbuild打包文件过于耗时大概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--configbuild/webpack.watch.conf.js", ... },
这样就实现了监听更新的效果npmrunwatch
注:本配置只是方便本地开发
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。