今日内容概要
- vue-cli创建项目
- vue项目目录简介
- es6导入导出语法
- 小练习 登陆功能
- scoped
今日内容详细
vue-cli创建项目
前端做成项目 需要使用工具(vue-cli) 创建出vue项目 单页面应用(spa)组件化开发 把xx.vue ts saas等编译成html页面及js css 这样才能够在浏览器中执行
vue-cli创建项目开发 在项目中开发完毕后 要上线 那么一定要编译 因为浏览器只能够识别js html和css
vue-cli工具 使用nodejs写的 如果要运行那么就需要node环境
http://nodejs.cn/download/
下载之后一路下一步即可
下载完成会有两个执行文件
node 相当于是python 进入解释器环境
npm 相当于是python的pip 也是用于安装包 模块的工具
node js是如何来的
由于js只能运行在浏览器中 因为浏览器中有它的解释器环境 所以有人基于谷歌浏览器的v8引擎 写了出来 使它可以运行在操作系统之上 里面的网络包 文件 数据库等是用c写的 使得js语法可以在后端完成编写 并且号称性能很高 大量使用了协程
安装vue-cli
npm install -g @vue/cli
# -g表示装全局
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 使用cnpm替换npm cnpm淘宝出的工具,下载的时候,去淘宝镜像下载,速度快
# --registry=https://registry.npm.taobao.org 指定淘宝镜像
后续可以使用cnpm替代npm
cnpm install -g @vue/cli
创建vue-cli项目(需要先切换目录 否则在当前目录创建)
vue create 项目名 # 速度比较慢 如果失败了 可以执行以下 npm clean --force
# 慢的原因是它是从github上拉的一个空项目 并且会安装该项目所需的所有依赖
vue ui # 图形化界面创建项目
后续安装看下图
项目运行
在命令行中运行
切换到项目目录 npm run serve
使用pycharm运行
看图
![image]()
![image]()
扩展:文件防篡改校验
其实是通过加密算法实现的
将整个文件通过一些加密算法生成值
后面用户下载下来后 再通过相同的加密方式加密 如果值不一样 那么说明被篡改了
百度网盘的秒传也利用了加密算法
文件传到服务器上后会生成加密值 存着
后续其他用户上传文件的时候 首先会上传文件的加密值 看看服务器中是否有一致的 如果有 那么就不接受该文件 直接使用服务器中对应的文件即可 这样就实现了秒传功能
vue项目目录介绍
![image]()
es6导入导出语法
xxx.vue的组成
在我们新建.vue文件的时候 会有三部分组成
# 该组件的html内容 都写在该标签内
<template>
</template>
# 该组件js内容都写在这
<script>
export default {
name: "test"
}
</script>
# 该组件的样式 都写在这 如果带了scoped 那么该样式只在当前组件生效
<style scoped>
</style>
导入导出语法
类似于python中的导包
js从es6开始 也支持包的导入和导出
默认的导出语法
export default 一般是一个对象
导入语法
import 别名 from '路径'
后续该别名就是被导出的对象
命名方式导入导出 一次导出一个
导出语法
export const name = '彭于晏'
export const add = (a, b) => {
return a + b
}
export const age = 19
导入语法 以对象的形式一个一个接收 后续直接使用对应名字
import {name, add, age} from '路径'
console.log(name)
导入的简写形式
在包下如果有 index为文件名的文件 导入的时候无需写到index的路径 等同于pyhton中的__init__.py
例如
包名 lzj
-index.js
那么导入的时候
import lzj from './lzj'
vue项目使用axios
1 安装
cnpm install axios -S # 带着-S会自动把当前依赖加入到package.json中
2 导入(按照的第三方模块,直接导入)
import axios from 'axios'
3 使用
axios.请求方式('url', 要传的数据).then(res => {
收到响应后执行的代码
})
django解决跨域问题
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'
)
scoped
# 父组件的样式,在子组件中会生效,加入scoped让该样式只在当前组件中生效
<style scoped>
h1 {
background-color: chartreuse;
}
</style>