vite 前端工程化配置 Snippets
配置@
符号映射为项目根目录
ts
import { fileURLToPath, URL } from "node:url";
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
});
如果使用 ts,添加 ts 路径设置
json
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["./src/*"]
}
}
}
resolve.alias
选项参考vite resolve.alias;
URL
是 Node.js url 模块下的一个类,用于解析 URL,参考node:url;
fileURLToPath
是 Node.js url 模块的原生方法,参考fileURLToPath;
import.meta.url
是 ESM 模块的元数据信息,url 属性是模块的路径,参考MDN import.meta;
compilerOptions
属性用来定制 TypeScript 编译行为,参考compilerOptions.paths;
打包时将不同的包分为多个 chunk
ts
// https://vitejs.dev/config/
export default defineConfig({
build: {
rollupOptions: {
output: {
manualChunks: {
lodash: ['lodash-es'],
vueuse: ['@vueuse/core'],
axios: ['axios'],
dragger: ['vue-draggable-plus'],
ant: ['@ant-design/icons-vue', 'ant-design-vue'],
},
},
},
},
...
});
rollupOptions.output.manualChunks
选项参考manualchunks;
preitter 配置
js
module.exports = {
$schema: "https://json.schemastore.org/prettierrc",
semi: true, // 在语句末尾需要加分号
useTabs: false, // 不使用制表符缩进行,而是使用空格缩进行
tabWidth: 2, // 使用两个空格缩进行
singleQuote: true, // 使用单引号
printWidth: 250, // 单行长度
bracketSpacing: true, // 在单行对象中,在左右保留一个空格
trailingComma: "all", // 尽可能都加尾随逗号
};