分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

webpack 使用别名(resolve.alias)解决scss @import相对路径导致的问题

发布时间:2023-09-06 01:42责任编辑:彭小芳关键词:webpack

webpack.conf.js 中 resolve.alias 配置

resolve: { ????????extensions: [‘.js‘, ‘.vue‘], ????????alias: { ????????????‘@‘: path.resolve(__dirname, ‘src‘), ????????????‘@scss‘: path.resolve(__dirname, ‘src‘, ‘scss‘), ????????}}

配置了resolve.alias 后,在js中我们可以这样用

// 原本这样写import hongAlert from ‘./../src/scss/icon.scss‘// 现在可以这样写import hongAlert from ‘@scss/icon.scss‘

在scss中需要这样写,注意是~@

// 原本这样写@import ‘./../../../scss/mixin.scss‘;// 现在可以这样写,注意是~@@import ‘~@scss/icon.scss‘;

问题与背景

在 *.vue 中的 style 标签中,我使用 @import 引入 icon.scss 样式。由于icon需要依赖一个font/woff/ttf。而 icon.scss 和 font 文件夹是同一目录的。

而Alert.vue却和它们不同目录。那这时候编译会发生什么呢?报错~

 原因和流程可能是这样的:vue将icon.scss引入后,再想引入font的时候,却发现在vue的目录中找不到font这个文件夹,所以报错了。

 解决方法,是结合webpack的resolve.alias来配置绝对路径。


顺便一提,如果你在js中引用scss,就不会导致这种错误。但在js中导入css总觉得怪怪的。

import ‘@scss/icon.scss‘

webpack 使用别名(resolve.alias)解决scss @import相对路径导致的问题

原文地址:https://www.cnblogs.com/CyLee/p/8438824.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved