微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vue中使用webpack别名的方法实例详解

在工作中,我们经常会写出这种代码

rush:js;"> import MHeader from '../../components/m-header/m-header' @import "../../common/stylus/variable" @import "../../common/stylus/mixin"

即,需要引入公共文件,但是公共文件文件路径里当前文件很远,那么就会形成上面示例中的那种路径很长的情况。

而因为文件目录是约定俗成的,不可轻易更改,无法修改相对路径。那么该怎么办呢?

大家都知道,Vue中的js可以通过配置webpack别名(alias)来避免一长串的路径引用,即:

rush:js;"> // 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中,则会报错:

rush:js;"> @import "common/stylus/variable" // error @import "common/stylus/mixin" // error

其实,这种方法没有错,只不过webpack对css的处理不同于js。

在js中,webpack对路径进行处理时,自动将没有路径标识(/ ,./,../)的第一个文件夹名当做webpack别名处理。如,第一个文件夹名为components,那么webpack会自动在alias中搜索有没有对应的别名,如果有,则直接替换路径;没有则报错。

在css中,webpack正常情况下,不会对路径进行处理。如果你想让webpack对路径进行处理,那么,可以在路径前标识~,如下:

rush:js;"> @import "~common/stylus/variable" @import "~common/stylus/mixin"

相当于通过添加~表示common是webpack别名而不是表示一个文件夹名。

正确使用webapck别名可以大大缩短引入文件的时间。

总结

以上所述是小编给大家介绍的Vue中使用webpack别名的方法实例详解。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文地址:https://www.jb51.cc/vue/31873.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐