更少的时间,干更多的活。开发网站速度,快。
Vue技术文档:https://fendteam.github.io/VueCourse
Chrome调试插件:Vue.js devtools
webpack自己配置环境很麻烦,下载@vue/cli包,用vue命令创建脚手架项目。
@vue/cli
是 Vue 官方提供的一个全局模块包(得到vue命令)
yarn global add @vue/cli
# 或
npm install -g @vue/cli
查看版本
vue -V
创建项目
项目名不能带大写字母,中文和特殊符号。
# 语法格式:
vue create 项目名称
# 实例:
vue create vuecli-demo
选择模板
选择版本
选择依赖包
生成项目文件后,进入脚手架项目下,启动内置的热更新本地服务器。
cd vuecli-demo
yarn serve
# 或
npm run serve
看到绿色的,就启动成功了(底层 node + webpack 热更新服务)
浏览器打开 localhost:8080
,出现Vue 就说明启动成功了。
vuecil-demo # 项目目录
├── node_modules # 项目依赖的第三方包
├── public # 静态文件目录
├── favicon.ico# 浏览器小图标
└── index.html # 单页面的html文件(网页浏览的是它)
├── src # 业务文件夹
├── assets # 静态资源
└── logo.png # vue的logo图片
├── components # 组件目录
└── HelloWorld.vue # 欢迎页面vue代码文件
├── App.vue # 整个应用的根组件
└── main.js # 入口js文件
├── .gitignore # git提交忽略配置
├── babel.config.js # babel配置
├── package.json # 依赖包列表
├── README.md # 项目说明
└── yarn.lock # 项目包版本锁定和缓存地址
主要目录
node_modules 下都是下载的第三方包
public/index.html – 浏览器运行的网页
src/main.js – webpack打包的入口文件
src/App.vue – vue项目入口页面
package.json – 依赖包列表文件
main.js
:项目打包入口 - Vue初始化
App.vue
:Vue 页面主入口
index.html
:浏览器允许的文件
执行流程:App.vue
=> main.js
=> index.html
src 同级目录新建
vue.config.js
配置文件
/* 覆盖webpack配置 */
module.exports = {
// 自定义服务配置
devServer: {
open: true, // 自动打开浏览器
port: 3000 // 自定义端口号,不建议更改
}
}
代码检查工具。
在 mian.js
中声明变量,不要使用。 运行服务后会报错,证明代码不严谨。
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
// 定义变量
let a = 10;
new Vue({
render: h => h(App),
}).$mount('#app')
eslint 校验对于新手来说很不友好,在学习阶段可以将它关闭。
在
vue.config.js
中配置,默认 true 是开启,false 是关闭。
module.exports = {
// ...其他配置
lintOnSave: false,
}
推荐使用 .vue 文件来开发 vue 项目。
template
里只能有一个根标签;
vue文件
- 独立模块-作用域互不影响;
style
配合 scoped
属性,样式只针对 当前 template
内标签生效。
结果:vue文件
配合 webpack
,把他们打包起来插入到 index.html
,在浏览器运行。
<template>
<div>欢迎使用vuediv>
template>
<script>
export default {
name: 'App'
}
script>
<style scoped>
style>
src/App.vue
默认有很多内容,全部删除留下框assets
和 components
文件夹下的一切都删除掉 (不要默认的欢迎页面)前端核心:前后端交互(调用接口);客户端渲染(把数据填充到标签里面)
数据绑定:把数据填充到标签的过程称为数据绑定。
<body>
<div id="info">{{ msg }}div>
<script type="text/javascript" src="./lib/vue.js">script>
<script type="text/javascript">
// 不需要显示的操作DOM元素
new Vue({
el: '#info',
data: {
msg: 'Hello Jerry'
}
})
script>
body>
new Vue:设置数据渲染的容器。
el 和 data 属性名称是固定的(Vue 提供的 API)
- el:id 选择器。
- 值也可以是一个 DOM 元素(不建议)
- data:需要渲染的数据需要放在 data 中。
.vue
文件语法格式vue 文件的格式,开发中用这种方式。
<template>
<div>
标签内容
div>
template>
<script>
export default {
data() {
// return 需要的数据
return {
key: value,
key: value,
...
}
},
methods: {
方法名(形参) {
// 方法体
}
}
};
script>
<style>
/* 样式 */
style>
html 标签写在 template 下的 div 中。
export default
:
data(){ return{...} }
: 需要渲染的数据放在 return{} 中。
methods(){}
:方法。