一、自动导入封装的Ajax-API

参考文章:vite2:全局自动导入api_你吃香蕉吗?的博客-CSDN博客

二、element-plus组件

1、安装插件

插件地址:https://github.com/antfu/unplugin-vue-components

npm i unplugin-vue-components -D

2、vite.config.js

import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default {
  plugins: [
    Components({
      resolvers: [
        ElementPlusResolver(),
      ],
      dts: true,
    }),
  ],
}

三、vue3的API自动导入

1、安装插件

插件地址:https://github.com/antfu/unplugin-auto-import

npm i -D unplugin-auto-import

2、 vite.config.js

import AutoImport from "unplugin-auto-import/vite";

export default {
  plugins: [
    AutoImport({
        // 自动导入vue相关的Api
        imports: ["vue"],   // 也支持vue-router、axios等
        // 声明文件的存放位置
        dts: 'auto-imports.d.ts',
    }),
  ],
}

3、效果:无需引入,即可使用vue提供的API

<template>
  <div>首页~~~~{{name}}</div>
</template>
<script setup lang="ts">
const name = ref('法外狂徒---张三儿');
</script>

四、vite.config.ts(我目前的完整配置)

import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";

import AutoImport from "unplugin-auto-import/vite";

// elementplus相关包
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
// elementPlus提供的开箱即用的tree shaking功能
import ElementPlus from "unplugin-element-plus/vite";

const { resolve } = require("path"); //必须要引入resolve

// 数据mock配置
import { UserConfigExport, ConfigEnv } from "vite";
import { viteMockServe } from "vite-plugin-mock";

// https://vitejs.dev/config/
export default ({ command }: ConfigEnv): UserConfigExport => {
    return {
        plugins: [
            vue(),
            vueJsx(),
            AutoImport({
                // 自动导入vue相关的Api
                imports: ["vue"],  // 也支持vue-router、axios等
                // 声明文件的存放位置
                dts: 'src/auto-imports.d.ts',
            }),
            // 自动导入element的组件
            Components({
                resolvers: [ElementPlusResolver()],
                dts: true,
            }),
            ElementPlus(),
            viteMockServe({
                // ↓解析根目录下的mock文件夹
                mockPath: "mock",
                localEnabled: command === "serve",
                supportTs: true, // 打开后,可以读取 ts 文件模块。 请注意,打开后将无法监视.js 文件。
                watchFiles: true, // 监视文件更改 更改mock的时候,不需要重新启动编译
            }),
        ],
        // 配置别名
        resolve: {
            alias: {
                "@": resolve(__dirname, "src"),
                "@store": resolve(__dirname, "src/store"),
            },
        },
        server: {
            host: "127.0.0.1", // 监听的IP地址
            port: 3000, //启动端口
            open: true, // 自动打开
            proxy: {
                "/dapi": {
                    target: "http://120.76.52.66",
                    changeOrigin: true,
                    rewrite: path => path.replace(/^\/dapi/, ""),
                },
            },
        },
    };
};

Logo

前往低代码交流专区

更多推荐