vue与django集成打包的实现方法


Posted in Javascript onNovember 11, 2019

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

注:本配置只是方便本地开发

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Js之软键盘实现(js源码)
Jan 30 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
Aug 01 Javascript
javascript实现的DES加密示例
Oct 30 Javascript
使用javascript做的一个随机点名程序
Feb 13 Javascript
jquery实现的下拉和收缩效果示例
Aug 21 Javascript
js实现window.open不被拦截的解决方法汇总
Oct 30 Javascript
JavaScript必知必会(六) delete in instanceof
Jun 08 Javascript
js 获取当前web应用的上下文路径实现方法
Aug 19 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 Javascript
js中json处理总结之JSON.parse
Oct 14 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
Nov 15 Javascript
javascript实现商品图片放大镜
Nov 28 Javascript
微信小程序监听用户登录事件的实现方法
Nov 11 #Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 #Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
Nov 11 #jQuery
javascript/jquery实现点击触发事件的方法分析
Nov 11 #jQuery
jquery ajax 请求小技巧实例分析
Nov 11 #jQuery
javascript 对象 与 prototype 原型用法实例分析
Nov 11 #Javascript
javascript json对象小技巧之键名作为变量用法分析
Nov 11 #Javascript
You might like
跟我学Laravel之视图 & Response
2014/10/15 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
Vue实现push数组并删除的例子
2019/11/01 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python实现把xml或xsl转换为html格式
2015/04/08 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
python 实现红包随机生成算法的简单实例
2017/01/04 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
某公司部分笔试题
2013/11/05 面试题
韩国商务邀请函
2014/01/14 职场文书
房屋买卖协议书
2014/04/10 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
天坛导游词
2015/02/02 职场文书