Vue中使用webpack别名的方法
程序员文章站
2022-04-12 12:10:49
在工作中,我们经常会写出这种代码: 即,需要引入公共文件,但是公共文件的文件路径里当前文件很远,那么就会形成上面示例中的那种路径很长的情况。 而因为文件目录是约定俗成的,不可轻易更改,无法修改相对路径。那么该怎么办呢? 大家都知道,Vue中的js可以通过配置webpack别名(alias)来避免一长 ......
在工作中,我们经常会写出这种代码:
import MHeader from '../../components/m-header/m-header'
@import "../../common/stylus/variable" @import "../../common/stylus/mixin"
即,需要引入公共文件,但是公共文件的文件路径里当前文件很远,那么就会形成上面示例中的那种路径很长的情况。
而因为文件目录是约定俗成的,不可轻易更改,无法修改相对路径。那么该怎么办呢?
大家都知道,Vue中的js可以通过配置webpack别名(alias)来避免一长串的路径引用,即:
// target import MHeader from 'components/m-header/m-header' //webpack.base.conf.js alias: { '@': resolve('src'), 'common': resolve('src/common'), 'components': resolve('src/components') }
但是,如果直接把这种方法用在css中,则会报错:
@import "common/stylus/variable" // error @import "common/stylus/mixin" // error
其实,这种方法没有错,只不过webpack对css的处理不同于js。
在js中,webpack对路径进行处理时,自动将没有路径标识(/ ,./,../)的第一个文件夹名当做webpack别名处理。如,第一个文件夹名为components
,那么webpack会自动在alias中搜索有没有对应的别名,如果有,则直接替换路径;没有则报错。
在css中,webpack正常情况下,不会对路径进行处理。如果你想让webpack对路径进行处理,那么,可以在路径前标识~
,如下:
@import "~common/stylus/variable" @import "~common/stylus/mixin"
相当于通过添加~
表示common是webpack别名而不是表示一个文件夹名。
正确使用webapck别名可以大大缩短引入文件的时间。
推荐阅读
-
举例讲解Python中的身份运算符的使用方法
-
C#使用反射(Reflect)获取dll文件中的类型并调用方法
-
Java 使用poi把数据库中数据导入Excel的解决方法
-
Spring boot中PropertySource注解的使用方法详解
-
coreldraw中半色调、虚光和框架三种工具的使用方法
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
-
Vue-Router的使用方法
-
Vue中android4.4不兼容问题的解决方法
-
ASP.NET MVC4中使用Html.DropDownListFor的方法示例
-
android UI进阶之android中隐藏的layout 抽屉的使用方法