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 相关文章推荐
javascript笔试题目附答案@20081025_jb51.net
Oct 26 Javascript
Js 冒泡事件阻止实现代码
Jan 27 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
Apr 08 Javascript
js判断鼠标同时离开两个div的思路及代码
May 31 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
Jun 24 Javascript
js实现索引图片切换效果
Nov 21 Javascript
理解JavaScript表单的基础知识
Jan 25 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
Apr 29 Javascript
AngularJS 输入验证详解及实例代码
Jul 28 Javascript
JavaScript字符串对象(string)基本用法示例
Jan 18 Javascript
vue父组件异步获取数据传给子组件的方法
Jul 26 Javascript
vue自定义右键菜单之全局实现
Apr 09 Vue.js
微信小程序监听用户登录事件的实现方法
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
php中get_cfg_var()和ini_get()的用法及区别
2015/03/04 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
JS前端加密算法示例
2016/12/22 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
python创建和删除目录的方法
2015/04/29 Python
python if not in 多条件判断代码
2016/09/21 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
python numpy数组复制使用实例解析
2020/01/10 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
企业为何需要商业计划书
2013/12/26 职场文书
快餐公司创业计划书
2014/04/29 职场文书
经济管理专业求职信
2014/06/09 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
转变工作作风心得体会
2016/01/23 职场文书
纯html+css实现Element loading效果
2021/08/02 HTML / CSS
canvas实现贪食蛇的实践
2022/02/15 Javascript