vue app 实现
Vue 应用实现基础步骤
安装 Vue CLI 工具,确保 Node.js 环境已配置。通过命令行运行 npm install -g @vue/cli 完成全局安装。
创建新项目使用 vue create project-name,选择默认配置或手动配置特性(如 Babel、Router、Vuex 等)。进入项目目录后启动开发服务器 npm run serve。
核心文件结构说明
src/main.js 是应用入口文件,初始化 Vue 实例并挂载到 DOM。典型代码结构如下:
import Vue from 'vue'
import App from './App.vue'
new Vue({
render: h => h(App)
}).$mount('#app')
src/App.vue 是根组件,包含模板、脚本和样式三部分。单文件组件结构示例:
<template>
<div id="app">
<router-view/>
</div>
</template>
<script>
export default {
name: 'App'
}
</script>
路由配置方法
安装 Vue Router 后,在 src/router/index.js 中定义路由:
import Vue from 'vue'
import Router from 'vue-router'
import Home from '../views/Home.vue'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home
}
]
})
状态管理实现
使用 Vuex 创建集中式状态管理。典型 store 结构包含 state、mutations 和 actions:
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++
}
},
actions: {
incrementAsync({ commit }) {
setTimeout(() => {
commit('increment')
}, 1000)
}
}
})
组件通信方式
父组件向子组件传递数据通过 props:
<child-component :message="parentMessage"></child-component>
子组件向父组件发送事件使用 $emit:
this.$emit('notify', payloadData)
跨层级组件通信可使用 provide/inject:
// 祖先组件
provide() {
return { theme: this.theme }
}
// 后代组件
inject: ['theme']
生命周期钩子应用
常用生命周期钩子包括:
created()组件实例创建后调用mounted()DOM 挂载完成后执行updated()数据变化导致 DOM 更新后触发destroyed()组件销毁时清理资源
示例代码:
export default {
created() {
console.log('Component initialized')
},
mounted() {
this.fetchData()
}
}
样式处理方案
组件作用域 CSS 使用 <style scoped> 限定样式作用域。预处理器支持通过 lang 属性指定:
<style lang="scss" scoped>
$primary-color: #42b983;
.text {
color: $primary-color;
}
</style>
全局样式可定义在 src/assets 目录并通过 main.js 导入:
import '@/assets/global.css'
生产环境构建
运行 npm run build 生成优化后的生产环境代码,输出到 dist 目录。配置打包选项通过 vue.config.js:

module.exports = {
productionSourceMap: false,
configureWebpack: {
optimization: {
splitChunks: {
chunks: 'all'
}
}
}
}






