base

  1. export default defineConfig({
  2. base:'./', //配置相对路径
  3. plugins: [vue()]
  4. })

alias

  1. export default defineConfig({
  2. base: "./", //配置相对路径
  3. plugins: [vue()],
  4. resolve: {
  5. alias: {
  6. comp: resolve(__dirname, "src/components/about/index"), //组件别名
  7. "/icon": "./src/assets/image/icon" //静态资源 图片
  8. },
  9. },
  10. });

使用

  1. <script setup lang="ts">
  2. import Al from "comp/HelloWorld.vue";
  3. </script>
  4. <template>
  5. <!-- <img alt="Vue logo" src="./assets/image/icon/logo.png" />
  6. <HelloWorld msg="Hello Vue 3 + TypeScript + Vite" /> -->
  7. <img src="/icon/logo.png" />
  8. <Al msg="Hello Vue 3 + TypeScript + Vite" />
  9. </template>

生产环境移除console.log的配置

  1. export default defineConfig({
  2. ...
  3. build: {
  4. minify: "terser",
  5. terserOptions: {
  6. compress: {
  7. // 生产环境时移除console
  8. drop_console: true,
  9. drop_debugger: true,
  10. },
  11. },
  12. },
  13. });

mock数据配置

  1. -安装
  2. npm i vite-plugin-mock mockjs
  1. -使用
  2. 新建mock.js
  3. //demo
  4. import { MockMethod } from "vite-plugin-mock";
  5. import { mock } from "mockjs";
  6. const data = mock({
  7. 'list|99': [{
  8. // 属性 id 是一个自增数,起始值为 1,每次增 1
  9. 'id|+1': 1,
  10. 'name':'@cname',
  11. 'avatar':'@image'
  12. }]
  13. });
  14. export default [
  15. {
  16. url: "/api/get",
  17. method: "get",
  18. response: ({ query }) => {
  19. return {
  20. code: 0,
  21. data: data
  22. };
  23. },
  24. },
  25. ] as MockMethod[];
  26. 页面请求
  27. import axios from 'axios';
  28. async function fn(){
  29. const {data} = await axios.get('/api/get');
  30. console.log(data.data.list);
  31. }
  32. fn()