Time: 20190911
前文提到了大前端的概念,现在的Web应用程序,逻辑变得更加复杂, 用户交互更加丰富。前端开发不使用框架,最终项目会变成一个不可维护的代码。
除了核心的vue框架外,还有几个官方实现的库,全方位覆盖了Vue项目开发需要用到的核心功能。
如:vue-router
用于路由控制,vuex
用于状态管理,vue-test-utils
用于组件的单元测试。
这三个核心库,会在后续陆续展开讲解。
vue使用初探
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script> 生产环境 -->
</head>
<body>
<div id="app">
{{ message + " " + name }}
</div>
<script>
var app = new Vue(
{
el: '#app',
data: {
message: 'Hello',
name: "DrCrypto",
},
created() {
// 应用启动时执行
console.log("应用启动...")
}
}
)
</script>
</body>
</html>
现在我们还不用vue-cli
搭建脚手架,用最传统的方式引入包,然后实例化一个Vue
对象。将该实例的el
属性指向div
元素。
注意,因为一些原因(我暂时还不知道),不能在body
元素上进行初始化Vue
。
data
属性中的属性可以直接在el
指向的元素中用模板语法{{ xxx }}
引用。
这里还有一个关键是:created
声明周期函数。
该函数会在应用启动时执行。
现在看到的是学习阶段的代码写法,往后,我们会逐渐深入到webpack
下的写法,那才比较符合完整的产品级项目的组织方式。
vue-loader && webpack
vue-loader
是一个webpack
的加载器,允许我们将一个组件的所有HTML,JS和CSS代码编写到同一个文件。
这触及到组件式编程的核心了,在React中也是一个组件包含该组件所用到的HTML, JS和CSS三种文件。
与传统的Web开发中HTML,JS和CSS关注点分离式的写法不同,基于MVVM构建的前端框架,用组件的组织方式,使项目更加高内聚,低耦合。
我们现在不用自己手动指定vue-loader
,可以先用一个脚手架工具,下面创建项目的写法是vue
版本号为3.x.x的语法:
vue create vue-cli-demo
产生的项目结构
看到这个项目结构,似乎和在React下,用create-react-app
命令行产生的项目结构很像。
进入项目,用yarn运行项目:
$ cd vue-cli-demo
$ yarn serve
用yarn
来做包管理在本机比NPM要快一些。
END.