Vue是一套 用于构建用户界面的渐进式框架 ,被设计为 自底向上逐层应用 :
使用Vue.js是因为它有下面的特点:
Vue.js主要应用在以下场景:
注意: Vue不支持IE8及以下版本浏览器,因为Vue使用了IE8无法模拟的ECMAScript5的特性。
MVVM(Model-ViewModel) 是一种软件架构的风格:
MVVM的思想是通过 数据驱动视图 ,把需要改变视图的数据初始化到Vue中,然后再通过修改Vue中的数据,从而实现对视图的更新。
使用Vue.js最简单的方法是直接创建一个html文件,然后通过 script标签直接引入vue.js :
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]">script>
<script src="./vue.min.js">script>
在用Vue创建大型应用的时候推荐使用NPM安装,NPM能够很好地和诸如webpack的打包器配合使用,同时Vue也提供了配套工具来开发单文件组件。下面是一个通过NPM方式使用Vue的案例:
{
"name": "npm-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
{
"name": "npm-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"vue": "^2.6.12"
}
}
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>npm_vue_demotitle>
head>
<body>
<script src="./node_modules/vue/dist/vue.min.js">script>
body>
html>
Vue提供了一个官方的 CLI 来实现快速搭建单页面应用(SPA)的脚手架,只需要几分钟的时间就可以运行起来带有热重载、保存时lint校验以及生产环境可用的构建版本。下面看一个脚手架创建Vue项目的过程:
下面通过一个 Hello World 程序了解vue的使用过程:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HelloWorldtitle>
head>
<body>
<div id="app">
{{ message }}
div>
<script src="./node_modules/vue/dist/vue.min.js">script>
<script>
// 创建Vue实例对象
new Vue ({
// 通过该选项制定挂载对家
el: '#app',
// 通过该选项绑定数据
data: {
message: 'Hello Wolrd'
}
})
script>
body>
html>
效果图如下:
Vue Devtools 插件可以帮助我们在一个 更友好的界面中审查和调试Vue项目 ,它的安装方式如下:
在NPM包的 dist目录 ,你将会看到很多不同的vue.js构建版本:
UMD | CommonJS | ES Module(基于构建工具使用) | ES Module(直接用于浏览器) | |
---|---|---|---|---|
完整版 | vue.js | vue.common.js | vue.esm.js | vue.esm.browser.js |
只包含运行时版 | vue.runtime.js | vue.runtime.common.js | vue.runtime.esm.js | |
完整版(生产环境) | vue.min.js | - | - | vue.esm.browser.min.js |
只包含运行时版(生产环境) | vue.runtime.min.js | - | - | - |