构建实用VUE3项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建实用VUE3项目相关的知识,希望对你有一定的参考价值。

参考技术A 还没用几天VUE,就到3了,本文旨在记录构建一个实用项目模板昂。

1、自然是将VUE-CLI升级到最新版本啦(卸载旧的,安装zhui新的)

npm uninstall -g vue-cli

npm install -g @vue/cli

你要是想看看脚手架的版本,那敲这个

vue --version

2、构建你的项目吧

vue create myproject

进入配置的时候问你愿不愿意,你打YES就好

还有就是,既然想要VUE3的,记得选VUE3就好

到了这儿,一个原始的项目就有啦。

3、在项目目录中,建一个名叫vue.config.js的文件,并且在这个文件里导出一个对象。至于这个对象里的选项和配的值,那就又可以写一篇了

4、配置路由(和子路由)

1)安装好路由插件     cnpm i vue-router@next -D

2)在src目录下创建 router/index.js 

3)在根目录的main.js里面引入路由  import router from './router'

4)   在Vue对象中加入router的配置

import Vue from 'vue'

import VueRouter from 'vue-router'

import Login from '../views/Login.vue'

Vue.use(VueRouter)

  const routes = [

 

    path: '/',

    redirect: '/login'

  ,

 

    path: '/login',

    name: 'Login',

    component: Login

  ,

 

    path: '/',

    component: resolve => require(['../views/Index.vue'], resolve),

    redirect: '/home',

    children: [

     

        path: 'home',

        name: 'home',

        component: resolve => require(['../views/home/Home.vue'], resolve),

        meta: title: '首页'

      ,

     

        path: '/programCard',

        name: 'programCard',

        component: resolve => require(['../views/programCard/card.vue'], resolve),

        meta: title: '路由1'

     

    ]

 

]

const router = new VueRouter(

  mode: 'hash',

  base: process.env.BASE_URL,

  routes

)

export default router

5、安装VUEX并使用

1)安装vuex  cnpm i  vuex@next -D

2)在src目录下创建 store/index.js 

3)在根目录的main.js里面引入  import store from './store'

4)   在main.js里加入store的配置

6、配置axios

1)   安装vuex  cnpm i  axios@next -D

2)   在src目录建立api/request.js,并在其中引入axios       import axios  from 'axios'

在request.js中创建axios实例

添加请求拦截器和响应拦截器

再将实例导出export

3)在src目录建立api/index.js,引用axios实例,并统一定义请求函数

7、在src下建立views目录和路由子目录home/Home.vue

8、在assets目录增加css 、iconfont、images、js目录,存放资源

9、根目录下建立static\global.js

定义常量 const API_ROOT='127.0.0.1:8081'

建立对象window.global=

url:

apiUrl:"http://"+API_ROOT+"/"



基于webpack的构建方案引入vue后的相关配置

之前有一套 h5 的前端构建方案,能够支持同时管理构建多个相对独立的 h5。在面对大量的,相对独立的活动营销型 h5 时,这个解决方案非常实用 h5-webp。

因为项目相对来说简单,所以一直采用命令式渲染方式,这显然是不太合理的。一旦遇到复杂的项目,会有大量状态管理,路由管理,频繁的 dom 操作等,这时候我们需要引入一套申明式渲染方案。

因为是对已有构建方案的升级,所以首选渐进式框架 vue。
渐进式框架的理解很喜欢的一段话 传送门

安装依赖

在实践过程中,首先尝试了 vue2 稳定版,但是考虑到 vue3 的升级变化比较大,最后还是决定采用 vue3 。

vue2 的依赖安装:

npm install vue -S
npm install vue-loader -D
npm install vue-template-compiler -D
npm install vue-router -S

如果你想用最新的 vue3 :

npm install vue@next -S
npm vue-loader@16.0.0-beta.4 -D 当前需要自行指定版本
npm @vue/compiler-sfc -D
npm install vue-router@next -S

每个 vue 包的新版本发布时,一个相应版本的 vue-template-compiler 也会随之发布。编译器的版本必须和基本的 vue 包保持同步,这样 vue-loader 就会生成兼容运行时的代码。这意味着你每次升级项目中的 vue 包时,也应该匹配升级 vue-template-compiler。

webpack配置vue组件加载器

// 如果你选择的是vue2
// const VueLoaderPlugin = require(\'vue-loader/lib/plugin’);
// 如果你选择最新的vue3
const { VueLoaderPlugin } = require(\'vue-loader’); 

let config = {
    module: {
        rules: [
            { 
                test: /\\.vue$/,
                loader: \'vue-loader\'
            }, 
            …
        ]
    },
    plugins: [
        new VueLoaderPlugin(),
        ...
    ]
};

vue3路由的配置

import Vue from "vue";
import { createRouter, createWebHashHistory, createWebHistory } from \'vue-router\'

const routes = [
    {
        path: "/",
        redirect: "/index"
    },
    ...
];

const router = createRouter({
    // mode: \'history\', // vue2 路由模式的配置方式
    // history: createWebHistory(), // history模式
    history: createWebHashHistory(), // hash模式
    routes
});

export default router;

这里需要注意一下,这里 vue3 关于 hash / history 两种路由配置方式与 vue2 是不同的。

以上是关于构建实用VUE3项目的主要内容,如果未能解决你的问题,请参考以下文章

猿创征文Vue3 企业级优雅实战 - 组件库框架 - 7 组件库文档的开发和构建

基于Vue3+TS+ElementPlus+Qiankun构建微应用项目

三个小时vue3.x从零到实战(后)(vue3.x配套工具及项目化构建)

在 vue3 vite 项目中构建 vite 时出错

Vue:用Vue-cli构建Vue3项目

vue3.0入门:vite构建vue项目