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 相关文章推荐
Jquery实战_读书笔记2 选择器
Jan 22 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
jQuery语法小结(超实用)
Dec 31 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
Aug 29 Javascript
vue中使用refs定位dom出现undefined的解决方法
Dec 21 Javascript
Vue组件之极简的地址选择器的实现
May 31 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
Jul 11 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
Nov 30 Javascript
vue结合element-ui使用示例
Jan 24 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
Apr 30 jQuery
如何在postman中添加cookie信息步骤解析
Jun 30 Javascript
如何用JavaScript学习算法复杂度
Apr 30 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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
php中显示数组与对象的实现代码
2011/04/18 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
Python实现TCP协议下的端口映射功能的脚本程序示例
2016/06/14 Python
Python中将字典转换为列表的方法
2016/09/21 Python
python读取excel表格生成erlang数据
2017/08/26 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
大学生入党思想汇报
2014/01/01 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
教师个人培训总结
2015/02/11 职场文书
庆祝教师节主题班会
2015/08/17 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
JavaScript分页组件使用方法详解
2021/07/26 Javascript
Python Django模型详解
2021/10/05 Python
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby