vue-cli创建项目
vue-cli创建项目
Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.
前端项目,使用工具(vue-cli)创建vue项目,单页面应用spa,组件化开发把xx.vue,ts,saas,less------编译后在浏览器中执行
vue-cli 创建项目开发--项目开发----编译(纯的html/js/css)---上线-->浏览器只能识别html/js/css
vue-cli工具,使用nodejs写,要运行需要安装node环境----需要下载node解释器
注意:可以在项目添加文件防篡改校验,先把文件生成md5值,以后被下载下来,再生成md5值做比对,结果不一致证明文件被篡改了
CLI
CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令。它可以通过 vue create 快速搭建一个新项目,或者直接通过 vue serve 构建新想法的原型。你也可以通过 vue ui 通过一套图形化界面管理你的所有项目。
vue
vue2.x和vue3.x的区别?
vue2.x,使用使用vue-cli :https://cli.vuejs.org/zh/
vue3.x使用vue-cli,vite只能创建vue3,效率非常高
安装vue-cli
安装之前要先安装nodej环境
-
可以使用下列任一命令安装这个新的包
npm install -g @vue/cli # 推荐 # OR yarn global add @vue/cli # 需要下载yarn -
使用
cnpm代替npmnpm install -g cnpm --registry=https://registry.npm.taobao.org # -g 表示装全局 # --registry=https://registry.npm.taobao.org 指定淘宝镜像使用
cnpm优点:cnpm淘宝出的工具,下载是去淘宝镜像下载,速度快 -
统一使用
cnpm代替npmcnpm install -g @vue/clicmd控制台就可以输入 vue 命令(装了django可以使用django-admin创建django项目)
-vue 创建vue项目 -
创建vue项目的几种方式
1.cmd控制台就可以输入 vue 命令 2.装了django可以使用django-admin创建django项目
vue-cli创建项目
命令端创建vue-cli项目
-
命令创建项目
vue create myfirstvue # 如果速度很慢---》ctrl+c停止---》执行npm cache clean --force 清理缓存下载慢的原因:从github拉一个空项目,会下载所有该项目所有的依赖---装到node
-
选择项






使用图形化界面创建项目
你也可以通过 vue ui 命令以图形化界面创建和管理项目
vue ui
上述命令会打开一个浏览器窗口,并以图形化界面将你引导至项目创建的流程。



vue项目目录介绍
pychrm运行项目的两种方式
-
在命令行中执行---注意路径
# 切入文件 cd myfirstvue # 执行命令 npm run serve


- pycharm---绿色箭头执行

vue项目目录介绍
# vue 项目目录介绍
myfirstvue # 项目名
node_modules # 非常多第三方模块,以后把项目复制给别人时【上传git要忽略掉】,这个文件夹删掉,很多小文件,项目的依赖,项目要运行,没有它不行 如果没有只需要执行 cnpm install,根据package.json的依赖包,按装好依赖、
public # 文件夹
favicon.ico # 网站小图标
index.html # spa 单页面应用,以后整个vue项目都是用这一个html,但你不用动他
src # 文件夹--以后咱们都动这里面的
assets # 静态资源,以后前端用的图片,js,css。。都放在这里
logo.png # 图片
components # 以后在这里放组件, xx.vue, 小组件
HelloWorld.vue # 提供的展示组件
router # 安装了Router,就会有这个文件夹,下面有个index.js
index.js
store # 安装了Vuex,就会有这个文件夹,下面有个index.js
index.js
views # 页面组件
AboutView.vue
HomeView.vue
App.vue # 根组件,new Vue实例管理了 div,以后原来写在div中的东西,现在都写在App.vue
main.js # 项目的启动入口
gitignore # git的忽略文件,后面学了git就会了
babel.config.js # bable配置文件,不用动
jsconfig.json # 配置文件,不用动
package.json #不用动,安装了第三方模块,它自动增加
package-lock.json # 锁定文件,忽略掉
README.md # 用户手册
vue.config.js # vue的配置文件

es6导入导出语法
xx.vue 组件
eg:APP.VUE
# 开发vue项目,固定模式
1 新建xx.vue
2 在xx.vue中就三块内容
#1 以后组件的html内容,都写在这里
<template>
</template>
#2 以后该组件使用的样式,都写在这
<style>
</style>
# 3 以后js的东西,都写在这
<script>
</script>
main.js
# 找到index.html中的id为app的div,以后都在App.vue中写
new Vue({
render: h => h(App)
}).$mount('#app')
# 导入导出语法
-
导入导出语法
python创建包都是从其他的py文件导入;
js 从es6 开始也支持包的导入和导出,分默认导出语法和命名导入导出语法。
默认导入导出
只能导出一个,一般导出一个对象
# 导出语法 export default {} 一般是个对象 # 导入语法 import 别名 from '路径' # 别名就是导出的对象命名导入导出语
支持导出多个
# 导出语法 可以导出多个 export const name='kiki' export const add=(a,b)=>{ console.log(name) return a + b } export const age =19 # 导入语法 import{name,add} from './kiki/s1' console.log(name) console.log(add(33,44)) # 导入的简写形式 前提是包下有index.js,才不用写index.js的路径,等同于python的__init__.py eg:包是kiki -index.js 导入: import kiki from './kiki' -
vue项目的编写步骤
1. 以后只需要写xx.vue 页面组件 小组件--给页面组件用的 2.组件中导出 export default { name: 'HelloWorld', data() { return { xx: '彭于晏' } }, } 3. 在别的组件张要用,导入,注册 # 导入 import HelloWorld from '../components/HelloWorld.vue' # 注册 export default { components: { HelloWorld } } 4.注册以后,这个组件就可以使用导入的组件,写在<template> # 自定义属性 <HelloWorld msg="传进来的p"/>
scoped
# 父组件的样式,在子组件中会生效,加入scoped让该样式只在当前组件中生效
<style scoped>
h1 {
background-color: chartreuse;
}
</style>
登录功能--练习
-
App.vue 动了
<template> <div id="app"> <router-view/> </div> </template> -
main.js
// 没有动 import Vue from 'vue' import App from './App.vue' import router from './router' import store from './store' Vue.config.productionTip = false new Vue({ router, store, render: h => h(App) }).$mount('#app') -
访问根路径
# 访问根 显示 HomeView.vue 这个页面组件 -HomeView使用了Helloworld.vue -自定义属性 # 访问 /about 会显示AboutView.vue页面组件 -
使用axios
1 安装 cnpm install axios -S # 带着-S会自动把当前依赖加入到package.json中 2 导入(按照的第三方模块,直接导入) import axios from 'axios' 3 使用 handleClick() { console.log(this.username, this.password) axios.post('http://127.0.0.1:8000/login/', {username: this.username, password: this.password}).then(res => { // console.log(res) alert(res.data.msg) }) } -
解决跨域
1 装模块 pip3 install django-cors-headers -i https://pypi.tuna.tsinghua.edu.cn/simple/ 2 注册app 'corsheaders' 3 中间件修改 'corsheaders.middleware.CorsMiddleware', 4 修改配置文件 CORS_ORIGIN_ALLOW_ALL = True CORS_ALLOW_METHODS = ( 'DELETE', 'GET', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'VIEW', ) CORS_ALLOW_HEADERS = ( 'XMLHttpRequest', 'X_FILENAME', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'Pragma', 'token' )

浙公网安备 33010602011771号