时间:2021-05-26
在工作中,我们经常会写出这种代码:
import MHeader from '../../components/m-header/m-header'@import "../../common/stylus/variable"@import "../../common/stylus/mixin"即,需要引入公共文件,但是公共文件的文件路径里当前文件很远,那么就会形成上面示例中的那种路径很长的情况。
而因为文件目录是约定俗成的,不可轻易更改,无法修改相对路径。那么该怎么办呢?
大家都知道,Vue中的js可以通过配置webpack别名(alias)来避免一长串的路径引用,即:
// targetimport MHeader from 'components/m-header/m-header'//webpack.base.conf.jsalias: { '@': 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别名可以大大缩短引入文件的时间。
总结
以上所述是小编给大家介绍的Vue中使用webpack别名的方法实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
上篇文章给大家介绍了在webpack中使用ECharts的实例详解,可以点击查看。1.使用NPM安装(全局引入)执行下面的命令:npminstallechart
webpack的别名好处大家也都了解,但是vue的模板中,对图片地址使用别名时总出现问题,很久时间的时间都没找到解决办法,一度认为是webpack的原因...a
webpack开发环境下,在vue中使用console.log无效,一直以为webpack出了问题。使用window.console.log()就能够顺利在浏览
在webpack.base.conf文件中配置别名以及扩展名resolve:{extensions:['.js','.vue','.json','.styl']
项目中使用引入文件有时候路径比较深,需要使用"../../../xx.js"这种类似的路劲引入,这种方式比较笨,可以使用webpack的别名alias配置来解决