如何创建Vue项目并与后端django联调

简介: vue-cli搭建全局模块路径与缓存路径可以参考Windows下安装vue开发环境 - 简书 (jianshu.com)

vue-cli搭建

全局模块路径与缓存路径可以参考Windows下安装vue开发环境 - 简书 (jianshu.com)


windows下安装vue环境

使用之前,我们先来掌握3个东西是用来干什么的。


npm: Nodejs下的包管理器。


webpack: 它主要的用途是通过CommonJS的语法把所有浏览器端需要发布的静态资源做相应的准备,比如资源的合并和打包。


vue-cli: 用户生成Vue工程模板。(帮你快速开始一个vue的项目,也就是给你一套vue的结构,包含基础的依赖库,只需要 npm install就可以安装)

1.安装npm


官网进行下载Download | Node.js (nodejs.org)

Node.js 是一个开源与跨平台的JavaScript 运行时环境。

image.png

双击应用程序进行安装

image.png

image.png

*可以使用默认路径,本例子中自行修改为D:\P_Program\nodejs*

image.png

一直点next,其他的不用管

image.png

image.png

到上面这一步就是完成安装了,如果出现问题请重新下载官方文件,别下一些杂七杂八的,这可是开源的,免费!懂?

2.nodejs目录介绍

image.png

win + r 输入 cmd 回车打开控制台

输入 echo %PATH%查看环境变量,看下npm是否加进去了(前面安装的时候默认Add Path了)

C:\Users\xiaozai\AppData\Roaming\npm

输入node -v 查看node版本

输入npm -v查看npm版本

以上几步没问题说明你安装好了

3.配置镜像

输入命令npm config set registry=http://registry.npm.taobao.org 配置镜像站

输入命令npm config list 显示所有配置信息,我们关注一个配置文件C:\Users\xiaozai\.npmrc

image.png

使用文本编辑器编辑它,可以看到配置信息

4.检查配置镜像是否可以正常使用

npm config get registry

实践部分

1. 如何安装vue-cli?

brew update
brew install node
npm install -g @vue/cli@3.12.1 # -g是全局安装
vue --version

image.png

最终下载到的地方是C:\Users\xiaozai\AppData\Roaming\npm\node_modules

安装报错解决

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules…

1.png

sudo npm install -g @vue/cli@3.12.1 --unsafe-perm=true --allow-root

官方给出的解决方案

https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

2. 创建前端项目

cd django的项目根目录

vue create 项目名

vue create vue_project

3. 创建时候选什么

上下键选择,空格选定/取消,enter确认

  • ? Please pick a preset: 选第二个:自定义生成vue项目。

default (babel, eslint)


❯ Manually select features


  • ? Check the features needed for your project: (Press <space> to select, <a> to toggle all, <i> to invert selection) 选择一些插件.

选择bable和router


  • Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n) 选n。


  • ? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.?


选package.json


  • Save this as a preset for future projects? (y/N) 保存成默认设置

选n

image.png

4. Vue-cli 的项目结构:

image.png

  • nodemodles文件夹不要动。
  • Public 文件夹:静态资源,这里有一个index.html 模板,作为合成最终dist/index.html的骨架存在。

public下手动创建static文件夹用来存放js/css/图片等资源。django设置可以从static里取,vue就要设置在打包时往这个static里面存。

设置方法:vue_project根目录手动创建文件:vue.config.js ,内容为:

module.exports = {
   assetsDir:'static'
}

1、src文件夹:

(1)Assets : 存放一些静态文件,我们不用这个之后。全部存到public/static下。

(2)Components文件夹 : 小型组件存放位置

(3)views文件夹:大型组件,母体组件存放位置。

  • App.vue : 作为所有的.vue的一个主管存在。里面的样式很可能影响全局。
  • man.js : 作为打包过程必要的主脚本,里面的代码会影响全局。
  • router.js: 作为路由管理器的存在。

其他配置文件不要乱动。

最后目录展示

image.png

5. django的适配.

  • 想办法把路由配置成从vue项目中的index.html进行关联上。

从前:url -> views.py -> .html的

现在:url -> .html

urls.py中:

from django.views.generic import TemplateView
path('index/',TemplateView.as_view(template_name='index.html'))

settings.py中:

TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': ['vue_project/dist'],
  • 想办法把vue项目内的static文件夹下的静态资源关联上。

settings.py中:

STATICFILES_DIRS=[
  os.path.join(BASE_DIR,"vue_project/dist/static"),
]

6. dist文件夹

dist文件夹 是vue打包后的 那个包本身。django要从dist里面拿到index.html和static的所有静态资源。


用户-电脑浏览器-django-dist包 -> vue-cli前端开发用的


打包命令:进入vue-cli 根目录下,就是我们的vue_project的根目录下。


执行 npm run build 即可打包


前端独立调试启动服务命令:npm run serve


image.png

这时候就有dist文件夹了


image.png

npm run serve

image.png

进入http://localhost:8080/

image.png

启动django项目,进入http://127.0.0.1:8088/index/![请添加图片描述](https://ucc.alicdn.com/images/user-upload-01/efcc6cc9e78544c2bbb08f9e3d96e904.png

目录
打赏
0
0
0
0
80
分享
相关文章
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
127 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【一步步开发AI运动小程序】二十一、如何将AI运动项目配置持久化到后端?
本文介绍基于云智「Ai运动识别引擎」的运动配置持久化方案,旨在优化小程序或Uni APP中AI运动识别能力。通过将运动检测参数(如`Key`、`Name`、`TickMode`、`rules`或`samples`)持久化到后端,可避免因频繁调整运动参数而重新发布应用,提升用户体验。持久化数据结构支持规则和姿态样本存储,适用于关系数据库、文件或文档数据库(如MongoDB)。此外,云智还提供运动自动适配工具及「AI乐运动」产品,助力快速实现AI体育、全民健身等场景。
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
160 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
116 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
118 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
122 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
Pinia 如何在 Vue 3 项目中进行安装和配置?
Pinia 如何在 Vue 3 项目中进行安装和配置?
ry-vue-flowable-xg:震撼来袭!这款基于 Vue 和 Flowable 的企业级工程项目管理项目,你绝不能错过
基于 Vue 和 Flowable 的企业级工程项目管理平台,免费开源且高度定制化。它覆盖投标管理、进度控制、财务核算等全流程需求,提供流程设计、部署、监控和任务管理等功能,适用于企业办公、生产制造、金融服务等多个场景,助力企业提升效率与竞争力。
131 12
Django—同一项目不同app使用不同数据库
在Django项目中实现不同app使用不同数据库的配置,可以通过配置多数据库、创建数据库路由和配置路由来实现。通过这种方法,可以有效地将数据隔离到不同的数据库,提高数据管理的灵活性和系统的可扩展性。希望本文能为开发者在Django项目中使用多数据库提供清晰的指导。
42 4
创建vue3项目步骤以及安装第三方插件步骤【保姆级教程】
这是一篇关于创建Vue项目的详细指南,涵盖从环境搭建到项目部署的全过程。
383 1