在vite项目中使用@进行文件的引入方式
作者:没有头发的战斗暴龙兽
这篇文章主要介绍了在vite项目中使用@进行文件的引入方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vite项目中使用@进行文件的引入
1.在vite.config.js中先引入path模块:
import path from 'path'
2.在vite.config.js写入如下配置:
resolve: { alias: { '@': path.resolve(__dirname, './src') // 为./src配置别名 } }
注意:
在vite项目中只有.js文件可以省略后缀, .vue文件不能省略
3.在项目根目录下创建jsconfig.json文件,并做如下配置:
{ "compilerOptions": { "baseUrl": "./", "paths": { "@/*": ["src/*"] // 将项目根目录配置别名为@ }, "allowSyntheticDefaultImports": true }, "exclude": ["node_modules", "dist"] }
最后:
在vite.config.js中进行的配置是为了运行时不会进行报错,而在jsconfig.json中进行配置是为了能够有代码提示
vite中使用@,配置路径别名
报错
Cannot find module 'XXXXXX ’ or its corresponding type declarations
vite.config.ts
import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; const path = require('path'); export default defineConfig({ plugins: [vue()], define: { 'process.env': {}, }, resolve: { // 配置路径别名 alias: { '@': path.resolve(__dirname, './src'), }, }, });
tsconfig.json
配置baseUrl,paths
{ "compilerOptions": { "target": "esnext", "useDefineForClassFields": true, "module": "esnext", "moduleResolution": "node", "strict": true, "jsx": "preserve", "sourceMap": true, "resolveJsonModule": true, "esModuleInterop": true, "lib": ["esnext", "dom"], "baseUrl": ".", "paths": { "@/*": ["src/*"] } }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"] }
在文件中使用
import services from '@/services/index';
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。