- VUE起手式
- 搭建Vue项目
- 使用Vue
- 插播SEO原理
- 深入理解Vue两种版本
-曾老湿, 江湖人称曾老大。 -笔者QQ:133411023、253097001 -笔者交流群:198571640 -笔者微信:z133411023
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
VUE起手式
VUE历史 |
---|
Vue主要是MVC中的V,M和C被简化了
版本 2013年,0.6版、0.7版 2014年,0.8-0.11版 2015年,1.0版 (MVVM框架) 2016年,2.0版 (MVC框架) 2019年,2.6版 2020年,3.0版
VUE文档 |
---|
中文文档:TP

英文文档:TP

搭建Vue项目
创建项目 |
---|
安装vue/cli
代码语言:javascript复制# 安装 vue/cli两种方式
MacBook-pro:vue-1 driverzeng$ yarn global add @vue/cli
MacBook-pro:vue-1 driverzeng$ npm i -g @vue/cli
# 创建项目
MacBook-pro:HTML driverzeng$ vue create vue-demo-1

我们选择第二项 Manually select features
手动选择特性

选择红框中的4项

选择dart-sass

选择默认

提交的时候,运行lint

使用Jest单元测试

配置文件分开放

你是否要把刚才的选项,作为你以后项目的默认值,这里不推荐,所以写N

当你看到这两句话,就证明o**k了,然后按照命令执行
代码语言:javascript复制MacBook-pro:HTML driverzeng$ cd vue-demo-1/
MacBook-pro:vue-demo-1 driverzeng$ yarn serve

就会起一个webpack-dev-server我们可以实时预览
我们先关掉 ,然后把项目打开,再运行yarn serve

打开就访问到这个页面了。

使用Vue
做一个项目 |
---|
做一个最简单的项目,我们修改一下代码,让页面出现一个数字0,然后点 1就会自增
代码语言:javascript复制<template>
<div id="app">
{{n}}
<button @click="add"> 1</button>
</div>
</template>
<script>
import HelloWorld from "./components/HelloWorld.vue";
export default {
name: "app",
data() {
return {
n: 0
};
},
methods: {
add() {
this.n = 1;
}
}
};
</script>
<style lang="scss">
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>

Vue单文件组件 |
---|
首先创建一个demo.vue文件

vue项目默认需要 template script style
代码语言:javascript复制<template>
</template>
<script>
export default {
};
</script>
<style scoped>
</style>
index.html
代码语言:javascript复制<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.11/vue.runtime.min.js"></script>
<!-- built files will be auto injected -->
</body>
</html>
demo.vue
代码语言:javascript复制<template>
<div class="red">
{{n}}
<button @click="add"> 1</button>
</div>
</template>
<script>
export default {
data() {
return {
n: 0
};
},
methods: {
add() {
this.n = 1;
}
}
};
</script>
<style scoped>
.red {
color: red;
}
</style>
main.js
代码语言:javascript复制import Demo from "./demo.vue";
new Vue({
el: "#app",
render(h) {
return h(Demo);
},
});

上面的代码,SEO很不友好
插播SEO原理
SEO
搜索引擎优化,你可以认为搜索引擎就是不停的curl,搜索引擎会根据curl结果猜测页面内容。
如果你的页面都是用JS创建的div,那么curl就很瞎。
解决方法
很简单,给curl一点内容,把title
,description
,keyword
,h1
,a
写好即可
原则:让curl能得到页面的信息,SEO就能正常工作
怎么让网页到第一名? 1.浏览的人足够多即可 2.百度花钱就能上第一,不信你搜【老男孩 大数据培训】 3.Google其实能获取JS创建的内容,但是不要依赖Google因为国内访问量还是少
深入理解Vue两种版本
Vue完整版 | Vue非完整版 | 评价 | |
---|---|---|---|
特点 | 有complier | 没有complier | complier占40%体积 |
视图 | 写在HTML里,或者写在template选项 | 写在render函数里用h来创建标签 | h是尤雨溪写好传给render的 |
cdn引入 | vue.js | vue.runtime.js | 文件名不同,生成环境后缀为.min.js |
webpack引入 | 需要配置alias | 默认使用此版本 | 尤雨溪配置的 |
@vue/cli引入 | 需要额外配置 | 默认使用此版本 | 尤雨溪、蒋豪群配置的 |
最佳实践:总是使用非完整版,然后配合vue-loader和vue文件
思路: 1.保证用户体验,用户下载JS文件体积更小,但只支持h函数 2.保证开发体验,开发者可直接在vue文件里写HTML标签,而不是写h函数 3.脏活让loader做,vue-loader把vue文件里的HTML转成h函数真TM聪明,这就是工程师干的事