在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';
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
