1 Vue 介绍
伟大的项目是从 Hello World 而来的,Hello World 尽管没有什么实际性的作用,但是在于意义重大。(哈哈哈哈)
好了不废话了入正题。
Vue 是一套用于构建用户界面的渐进式 JS 框架,与其他大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完成能够为复杂的单网页应用提供驱动。
2 Hello World
最简单的 Hello World 是通过 <script>
引入vue.js
:
<!-- 开发环境版本 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- 生产环境版本 -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
开发环境包含了有帮助的命令行警告,而生产环境版本进行了压缩,优化了尺寸以及速度。
下一步直接创建一个 html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue Hello World</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
{{message}}
</div>
<script>
var app = new Vue({
el:'#app',
data:{message:'Hello world'}
})
</script>
</body>
</html>
浏览器直接打开后会看到 Hello world:
这样 Hello world 就完成了。
3 更进一步
由于数据和 DOM 已经被建立了关联,所有的东西都是响应式的,因此,打开控制台直接修改 app.message
的值,就会看到相应的更新:
接着将 div 修改如下:
<div id="app">
{{message}}
<br><br>
<span v-bind:title="message" style="border: 1px solid orange;">
悬停这里会显示信息
</span>
</div>
效果:v-bind
属性称为指令。带有 v-
前缀的是 Vue 提供的特殊属性,会在渲染 DOM 上应用特殊的响应式行为。在这里 v-bind:title
的意思是将这个元素节点的 title
属性和 Vue 示例的 message
属性保持一致。
当然此时也可以使用控制台修改 message
的值,同时也会更新 HTML:
4 使用 vue-cli 搭建 Hello world
npm install --global vue-cli
vue init webpack helloworld
cd helloworld
首先安装全局 vue-cli 命令,接着基于 webpack 模板初始化项目,创建过程中会提示输入相关信息:
输入项目名,项目描述以及作者后,会提示选择 Vue 运行时还是运行时 + 编译器,默认(运行时 + 编译器)即可,
接着提示安装 vue-router,是否使用 ESLint(y 与 n 影响不大,其实不需要使用这两项功能):
测试的话可以暂时不需要,接着提示创建工程会是否运行 npm install
,默认即可。
等待创建完成后,按提示运行即可:
cd helloworld
npm run dev
浏览器上打开即可: