vite创建vue3

本文档详细介绍了如何使用Vite初始化Vue项目,包括创建项目、安装依赖、配置vite.config.ts以实现路径别名、代理设置、打包配置等。此外,还涉及了TS打包时的错误处理、安装并配置less、全局变量设置以及vue-router的使用方法。通过这个教程,读者可以全面了解Vite在Vue项目中的应用。
摘要由CSDN通过智能技术生成

1.进入到文件夹中

在这里插入图片描述
2.输入

npm init vite

3.自由选择,然后回车
在这里插入图片描述
4.进入到创建好的项目中

输入 npm i 安装依赖
在这里插入图片描述
5.修改vite.config.ts

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { resolve } from "path";
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      //设置全局路径
      "@": resolve(__dirname, "./src"),
    },
  },
  base: "./", // 打包路径
  server: {
    // host: "192.168.10.107", //设置ip,方便调试
    host: "0.0.0.0", //设置ip,方便调试
    https: false, //是否启动https
    port: 8080, // 服务端口号
    open: false, //服务启动时候是否自动打开浏览器
    cors: true, //是否允许跨域
    proxy: {
      //设置代理
      // 如果是 /apiUrl 打头,则访问地址如下
      "/apiUrl": {
        target: "http://127.0.0.1:8990/", //代理接口
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/apiUrl/, ""),
      },
    },
  },
  // 打包配置
  build: {
    target: "modules",
    outDir: "dist", //指定输出路径
    assetsDir: "assets", // 指定生成静态资源的存放路径
    minify: "terser", // 混淆器,terser构建后文件体积更小
  },
});

6.运行

 npm run dev

7.打包

npm run build

打包的时候要注意,用了TS的话打包可能会错,是使用TS语法不严谨导致的
解决办法:
打包时关闭TS检测

修改之前

"scripts": {
    "dev": "vite",
    "build": "vue-tsc --noEmit && vite build",
    "preview": "vite preview"
  },

修改之后

"scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },

8.安装less

npm i less-loader less --save-dev

9.配置全局变量,解决页面中变量引入之前都需要单独引入的问题

npm i style-resources-loader
npm i vue-cli-plugin-style-resources-loader

创建 vue.config.js,加入下面配置

const path = require("path");
module.exports = {
  transpileDependencies: ["vuetify"],
  pluginOptions: {
    "style-resources-loader": {
      preProcessor: "less",
      patterns: [
        // 引入公共文件
        path.resolve(__dirname, "./src/assets/style/common.less"),
      ],
    },
  },
  css: {
    loaderOptions: {
      less: {
        lessOptions: {
          modifyVars: {
            "primary-color": "#ec6800",
          },
          javascriptEnabled: true,
        },
      },
    },
  },
};

10.使用 vue-router

npm i vue-router

创建文件 src/router/index.ts

import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router";
const routes: Array<RouteRecordRaw> = [
  {
    path: "/Home",
    name: "Home",
    component: () => import("@/view/home/home.vue"),
    // children: [
    //   {
    //     path: "/Home/about",
    //     name: "about",
    //     component: () => import("@/view/about/about.vue"),
    //   },
    // ],
  },
  {
    path: "/404",
    name: "notFound",
    component: () => import("@/view/notFound.vue"),
  },
  {
    path: "/about",
    name: "about",
    component: () => import("@/view/about/about.vue"),
  },
  { path: "/", redirect: { name: "Home" } },
  {
    path: "/:catchAll(.*)", //"/:pathMatch(.*)",
    redirect(to) {
      if (to.path === "/") {
        return "/Home";
      } else {
        //404
        return "/Home";
      }
    },
  },
];
const router = createRouter({
  history: createWebHistory(),
  routes,
});
export default router;

在main.ts中注册

import router from "./router/index";
const app = createApp(App);
app.use(router);
app.mount("#app");
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值