Vue3 项目说明
Vue 3 项目由多个文件和文件夹组成,每个部分都有其特定的作用。
以下是对 Vue 3 项目代码的基本解析,帮助你理解项目的结构和各个部分的功能。
Vue 3 项目由多个文件和文件夹组成,核心文件包括
index.html
、main.js
和App.vue
。Vue 组件是应用的基本构建块,使用单文件组件(
.vue
文件)定义。Vue Router 用于管理路由,Vuex 用于状态管理。
项目结构
一个 Vue 3 项目通常包含以下文件和文件夹:
my-vue-app/ ├── node_modules/ # 项目依赖的第三方库 ├── public/ # 静态资源文件夹 │ ├── index.html # 应用的 HTML 模板 │ └── ... # 其他静态资源(如图片、字体等) ├── src/ # 项目源代码 │ ├── assets/ # 静态资源(如图片、字体等) │ ├── components/ # 可复用的 Vue 组件 │ ├── views/ # 页面级组件 │ ├── App.vue # 根组件 │ ├── main.js # 项目入口文件 │ ├── router.js # 路由配置 │ ├── store.js # Vuex 状态管理配置 │ └── ... # 其他配置和资源 ├── package.json # 项目配置和依赖管理 ├── package-lock.json # 依赖的精确版本锁定文件 └── README.md # 项目说明文档
核心文件解析
public/index.html
public/index.html 是 Vue 应用的 HTML 模板文件。
Vue 会将应用挂载到 <div id="app"></div>
中。
实例
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vue App</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
src/main.js
src/main.js 是 Vue 应用的入口文件。
src/main.js 负责创建 Vue 应用实例,并将根组件(通常是 App.vue)挂载到 index.html 中的 div#app 中。
实例
import App from './App.vue';
createApp(App).mount('#app');
src/App.vue
src/App.vue 是 Vue 应用的根组件。
src/App.vue 通常包含应用的主要布局和路由视图。
实例
<div id="app">
<h1>Hello, Vue 3!</h1>
<router-view></router-view> <!-- 路由视图 -->
</div>
</template>
<script>
export default {
name: 'App',
};
</script>
<style>
#app {
text-align: center;
margin-top: 50px;
}
</style>
src/components/
src/components/ 文件夹包含可复用的 Vue 组件。
实例: HelloWorld.vue
<div>
<h2>Hello, World!</h2>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
};
</script>
<style scoped>
h2 {
color: blue;
}
</style>
src/views/
src/views/ 文件夹包含页面级组件,通常与路由配置一起使用。
实例: Home.vue
<div>
<h2>Home Page</h2>
</div>
</template>
<script>
export default {
name: 'Home',
};
</script>
src/router.js
src/router.js 是 Vue Router 的配置文件,用于定义路由。
实例
import Home from './views/Home.vue';
const routes = [
{
path: '/',
name: 'Home',
component: Home,
},
];
const router = createRouter({
history: createWebHistory(),
routes,
});
export default router;
src/store.js
src/store.js 是 Vuex 状态管理的配置文件(如果使用 Vuex)。
实例
export default createStore({
state: {
message: 'Hello, Vuex!',
},
mutations: {
setMessage(state, newMessage) {
state.message = newMessage;
},
},
actions: {
updateMessage({ commit }, newMessage) {
commit('setMessage', newMessage);
},
},
});
package.json
package.json 是项目的配置文件,包含项目的元数据、依赖和脚本。
实例
"name": "my-vue-app",
"version": "1.0.0",
"scripts": {
"serve": "vue-cli-service serve", // 启动开发服务器
"build": "vue-cli-service build", // 构建生产环境代码
"lint": "vue-cli-service lint" // 代码格式化
},
"dependencies": {
"vue": "^3.2.0",
"vue-router": "^4.0.0",
"vuex": "^4.0.0"
}
}
Vue 组件的基本结构
Vue 组件是 Vue 应用的核心构建块。
一个组件通常包含以下部分:
1、单文件组件(.vue 文件)
一个 .vue
文件包含三个部分:<template>
、<script>
和 <style>
。
实例
<div>
<h2>{{ message }}</h2>
<button @click="updateMessage">更新消息</button>
</div>
</template>
<script>
export default {
name: 'MyComponent',
data() {
return {
message: 'Hello, Vue!',
};
},
methods: {
updateMessage() {
this.message = '消息已更新!';
},
},
};
</script>
<style scoped>
h2 {
color: green;
}
</style>
2、模板(<template>
)
-
使用 HTML 和 Vue 模板语法定义组件的 UI。
-
支持插值(
{{ }}
)、指令(如v-if
、v-for
)和事件绑定(如@click
)。
3、脚本(<script>
)
-
定义组件的逻辑,包括数据、方法、生命周期钩子等。
-
使用
export default
导出组件选项。
4、样式(<style>
)
-
定义组件的样式。
-
使用
scoped
属性可以将样式限制在当前组件内。
Vue 项目的运行流程
-
启动开发服务器:
-
运行
npm run serve
或yarn serve
,启动开发服务器。 -
打开浏览器访问
http://localhost:8080
,查看应用。
-
-
构建生产环境代码:
-
运行
npm run build
或yarn build
,生成优化后的生产环境代码。
-
-
代码格式化:
-
运行
npm run lint
或yarn lint
,格式化代码。
-
点我分享笔记