webpack中 resolve.alias 配置,@import相关踩坑
1、在使用webpack打包项目时,可以在配置文件中配置resolve.alias来定义一些绝对路径,方便在项目中灵活使用路径,举例如下:
resolve: { extensions: [‘.js‘, ‘.vue‘], alias: { ‘@‘: path.resolve(__dirname, ‘src‘), ‘@scss‘: path.resolve(__dirname, ‘src‘, ‘scss‘), '@/common': path.join(process.cwd(), 'client/modules/common'), } }
2、配置之后,引用会发生如下变化:
// 相对路径引入 import hongAlert from ‘./../src/scss/test.less‘; @import ‘./../common/styles/test.less‘; // 配置后改写为绝对路径引入 import hongAlert from ‘@less/test.scss‘; @import '~@/common/styles/test.less';
注意:scss和less文件使用绝对路径引入时,需要在引入路径前面加上‘~’,不然会报错,找不到对应路径;
波浪号是为了防止css-loader把@ 解析为相对路径
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步