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 相关文章推荐
Mootools 1.2教程 滑动效果(Slide)
Sep 15 Javascript
原生js写的放大镜效果
Aug 22 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
Oct 24 Javascript
FF IE浏览器修改标签透明度的方法
Jan 27 Javascript
jQuery通用的全局遍历方法$.each()用法实例
Jul 04 Javascript
禁用backspace网页回退功能的实现代码
Nov 15 Javascript
Vue.js 单页面多路由区域操作的实例详解
Jul 17 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
Dec 14 Javascript
js prototype和__proto__的关系是什么
Aug 23 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
Sep 06 Javascript
vue中进行微博分享的实例讲解
Oct 14 Javascript
JS替换字符串中指定位置的字符(多种方法)
May 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
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
PHP实现简易图形计算器
2020/08/28 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
Javascript 布尔型分析
2008/12/22 Javascript
Prototype Number对象 学习
2009/07/19 Javascript
js的写法基础分析
2011/01/17 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
python实现网页链接提取的方法分享
2014/02/25 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
基于树莓派的语音对话机器人
2019/06/17 Python
Python实现微信小程序支付功能
2019/07/25 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
宝塔面板成功部署Django项目流程(图文)
2020/06/22 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
大专计算机个人求职的自我评价
2013/10/21 职场文书
高中军训感言400字
2014/02/24 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
防灾减灾标语
2014/10/07 职场文书
小石潭记导游词
2015/02/03 职场文书
速龙x4-860k处理器相当于i几
2022/04/20 数码科技