Vue 笔记¶
1. Vue 简介¶
Vue.js 是一个用于构建用户界面的渐进式框架。它允许开发者通过组件化的方式来构建复杂的前端应用。
2. 安装 Vue¶
2.1. 使用 Vue CLI 安装¶
Vue CLI 是一个官方的命令行工具,用于快速生成 Vue 项目。
-
全局安装 Vue CLI:
npm install -g @vue/cli -
创建新的 Vue 项目:
vue create my-project
在创建过程中,选择需要的配置(例如 Babel、Router、Vuex 等)。
-
进入项目目录:
cd my-project -
启动开发服务器:
npm run serve
访问 http://localhost:8080 查看应用。
5.Compiles and minifies for production
npm run build
- Lints and fixes files
npm run lint
- Customize configuration
2.2. 使用 CDN 安装¶
如果只是想快速试用 Vue,可以通过 CDN 引入:
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
3. Vue 项目结构¶
一个典型的 Vue 项目结构如下:
my-project/
├── node_modules/
├── public/
│ └── index.html # 应用入口 HTML
└── src/
├── assets/ # 资源文件(图片、样式等)
├── components/ # 组件
├── App.vue # 根组件
├── main.js # 应用入口 JS
└── ...
4. Vue 整体流程¶
4.1. 加载过程¶
-
index.html: -
这是应用的入口文件,包含
<div id="app"></div>作为 Vue 应用的挂载点。
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Your Vue App</title>
</head>
<body>
<noscript>
<strong>Please enable JavaScript to run this app.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
main.js:- 在此文件中,导入 Vue 和根组件
App.vue,并将其挂载到#app元素。
import { createApp } from 'vue';
import App from './App.vue';
createApp(App).mount('#app');
App.vue:- 根组件,定义了应用的主要结构,通常会包含其他子组件。
<template>
<div>
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue';
export default {
name: 'App',
components: {
HelloWorld
}
}
</script>
<style>
/* 样式 */
</style>
HelloWorld.vue:- 这是一个示例子组件,可以在
App.vue中使用。
<template>
<div>{{ msg }}</div>
</template>
<script>
export default {
props: ['msg']
}
</script>
<style>
/* 子组件样式 */
</style>
4.2. 渲染过程¶
index.html:-
这是整个应用的入口文件。浏览器加载这个 HTML 文件,并找到
<div id="app"></div>作为 Vue 应用的挂载点。 -
main.js: -
这是应用的入口 JavaScript 文件。在这里,通常会导入
createApp函数和根组件App.vue,然后使用createApp(App).mount('#app')将根组件挂载到#app元素中。这个过程启动了 Vue 应用。 -
App.vue: -
这是根组件,定义了应用的主要结构。在其模板部分,可以渲染其他子组件,如
HelloWorld.vue。在<script>部分,App.vue会导入并注册这些子组件。 -
HelloWorld.vue(或其他子组件): - 这是一个具体的子组件,可以在
App.vue中使用。它可以接收来自父组件(App.vue)的 props,并在自己的模板中展示内容。
这个结构展示了 Vue 的组件化思想和单页面应用的工作流程,确保了代码的模块化和重用性。