惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
MyScale Blog
MyScale Blog
博客园 - Franky
The Cloudflare Blog
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
The Blog of Author Tim Ferriss
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
腾讯CDC
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
博客园 - 【当耐特】
美团技术团队
云风的 BLOG
云风的 BLOG

博客园 - Ratooner

.NET7 IOC注册SqlSugar .NET 7.0 Program.cs访问appsettings.json配置文件 vue3 el-image图片资源的使用 bootstrap.bundle.min.js bootstrap.bundle.min.js.map 404报错 js中===和==的区别 json-server 笔记 vue3创建项目笔记 openstack heat 实验笔记 openstack neutron 实验笔记 openstack nova 实验笔记 openstack glance 实验笔记 openstack keystone 实验笔记 Vue 中npm run dev 和 npm run serve 的区别 Flask+Vue 使用 vue 学习笔记1 vue export学习笔记1 GRE和VXLAN的区别 openstack各组件逻辑关系图(转载) openstack创建云主机流程图(转载)
vite学习笔记
Ratooner · 2023-06-14 · via 博客园 - Ratooner

1、vite的index.html放在根目录

2、package.json 中的 "dev": "vite --open", --open表示浏览器自动打开

3、eslint配置:A、pnpm i eslint -D。B、npx eslint --init(生成eslint配置文件:eslint.cjs),还要继续安装 npm install -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin-node @babel/eslint-parser

4、配置 prettier :npm install -D eslint-plugin-prettier prettier eslint-config-prettier

5、修改src别名,修改后src目录可以用@替代,例如:import App from "@/App.vue";

vite.config.ts 文件红色部分如下:

import { defineConfig } from "vite";

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

import path from "path";

// https://vitejs.dev/config/

export default defineConfig({

  plugins: [vue()],

resolve: {

    alias: {

      "@": path.resolve("./src"), //相对路径别名配置,使用@替代src

    },

  },

});

tsconfig.json文件红色部分如下:

{

  "compilerOptions": {

    "target": "ESNext",

    "useDefineForClassFields": true,

    "module": "ESNext",

    "moduleResolution": "Node",

    "strict": true,

    "jsx": "preserve",

    "resolveJsonModule": true,

    "isolatedModules": true,

    "esModuleInterop": true,

    "lib": ["ESNext", "DOM"],

    "skipLibCheck": true,

    "noEmit": true,

    "baseUrl": "./", //解析非相对模块的基地址,默认是当前目录

    "paths": {

      //路径映射,相对于baseUrl

      "@/*": ["src/*"]

    }

  },

  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],

  "references": [{ "path": "./tsconfig.node.json" }]

}

6、SVG图标配置:npm install vite-plugin-svg-icons -D

main.ts导入

//svg插件需要配置代码

import 'virtual:svg-icons-register'

vite.config.ts添加红色部分

//引入svg需要用到插件

import { createSvgIconsPlugin } from "vite-plugin-svg-icons";

export default defineConfig({

  plugins: [

    vue(),

    createSvgIconsPlugin({

      iconDirs: [path.resolve(process.cwd(), "src/assets/icons")],

      symbolId: "icon-[dir]-[name]",

    }),

  ],

  resolve: {

    alias: {

      "@": path.resolve("./src"), //相对路径别名配置,使用@替代src

    },

  },

});

vue文件中使用方式:

    <!-- 测试SVG图标使用 -->

    <!-- svg:图标外层容器节点,内部需要与use标签结合使用 -->

    <svg>

      <!-- xlink:href执行哪一个图标,属性值必须为#icon-图标文件名 -->

      <!-- use标签fill属性可以设置图标的颜色 -->

      <use xlink:href="#icon-phone" fill="green"></use>

    </svg>

7、mock数据

npm install -D vite-plugin-mock mockjs

官网资料

https://github.com/vbenjs/vite-plugin-mock/blob/main/README.zh_CN.md

如果遇到,如下错误

......./node_modules/vite-plugin-mock/dist/index.mjs:128
if (!require.cache) {^

ReferenceError: require is not defined

则在node_modules/vite-plugin-mock/dist/index.mjs文件添加:

import { createRequire } from 'node:module';

const require=createRequire(import.meta.url)