vue3为路径设置别名

为了避免代码中出现类似’…/…/src/assets/img/home.png’包含多个’…/’符号,可以为路径设置别名。
类似上述路径可直接用’@/assets//img/home.png’表示,将直接从src路径开始查找指定文件。(vue3默认将src文件夹重命名为@)

1.找到node_modules/@vue/cli-service/lib/config/base.js文件
在这里插入图片描述
2.找到’.set(‘@’, api.resolve(‘src’))‘(图中已有内容为vue4默认为src路径设置别名@)
在这里插入图片描述
3.添加个人设置(不能使用’@/assets’会报错)。
在这里插入图片描述

添加别名后,上述路径可直接写为‘~assets/img/home.png’。
在这里插入图片描述

Vue 3 项目中配置 TypeScript 路径别名,通常需要同时配置 `vite.config.ts`(或 `vue.config.js`)和 `tsconfig.json` 文件,以确保 TypeScript 编译器和构建工具(如 Vite 或 Webpack)都能识别自定义的路径别名。 ### 配置 vite.config.ts 若使用 Vite 构建工具,可以在 `vite.config.ts` 中导入 `resolve` 并配置别名。以下是一个示例配置: ```typescript import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import { resolve } from 'path'; export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname, './src') } } }); ``` 此配置使 `@` 指向项目根目录下的 `src` 文件夹,从而可以在项目中通过 `@/components/MyComponent.vue` 这样的方式引用组件[^3]。 ### 配置 tsconfig.json 在 `tsconfig.json` 中,需要设置 `baseUrl` 和 `paths` 来告诉 TypeScript 编译器如何解析别名路径。以下是一个示例配置: ```json { "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"] } } } ``` 此配置确保 TypeScript 能够正确识别 `@/components/MyComponent.vue` 这样的路径并进行类型检查[^4]。 ### 配置 vue.config.js(适用于 Vue CLI 项目) 若使用 Vue CLI 和 Webpack,则需在 `vue.config.js` 中配置路径别名。示例如下: ```javascript const path = require('path'); function resolvePath(...dir) { return path.join(__dirname, ...dir); } module.exports = { chainWebpack: config => { config.resolve.alias .set('@', resolvePath('src')) .set('my-service', resolvePath('src/service/my')); } }; ``` 同时,在 `tsconfig.json` 中配置路径: ```json { "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"], "my-service/*": ["src/service/my/*"] } } } ``` 上述配置使得 `@` 和 `my-service` 别名能够在 TypeScript 中被识别[^2]。 ### 总结 - 在 Vite 项目中,配置 `vite.config.ts` 和 `tsconfig.json` 文件。 - 在 Vue CLI 项目中,配置 `vue.config.js` 和 `tsconfig.json` 文件。 - 确保 TypeScript 和构建工具都能识别相同的路径别名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值