js webpack 配置路径_vue使用webpack配置路径别名

原始的文件引用方式的缺点要拼写一个巨长无比的字符串,而且每引用一次都要拼写一次。

如果这个文件位置变了,我就要把所有引用它的文件都修改一次。

下面介绍一种很优雅的方式,使用webpack的resolve.alias。以下面的目录结构为例:

-src

-components

-navBar.vue

-main.js

复制代码

vue-cli 2.0 中如何使用?

在vue-cli 2.0的工程中,在\build\webpack.base.conf.js文件下找到如下代码

resolve: { extensions: ['.js', '.vue', '.json'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src') }}复制代码

extensions中配置了可以自动解析的文件类型,在引入的时候不必写文件后缀,如在main.js中引用nvaBar组件:

import navBar from './components/navBar'复制代码

这里便可以不写.vue后缀名。

2.alias则代表的是别名。

配置文件中自动将@配置为src的别名,所以我们使用别名引入navBar时可以这么写:import navBar from '@/components/navBar'复制代码

照猫画虎,我们可以将components目录也配置一个别名:

'@components': resolve('src/components')复制代码

那么再次引用组件时就更加的便捷了:

import navBar from '@components/navBar'复制代码

why?

这里我们谈谈原理,有助于了解别名在vue-cli3.0中的使用。

原理很简单:字符串拼接。

我们在刚刚修改的同文件中会找到如下代码

const path=require('path');

function resolve (dir) { return path.join(__dirname, '..', dir)}

复制代码

path是node中的一个模块,这里引用他是处理路径

resolve就是我们刚刚使用的方法,path.join([...paths])会把给定的路径拼接成一个完整的路径,这里的第一个参数__dirname表示当前文件所在目录,'..'则表示上级目录,前两个参数所得到的目录就是build,src所在的那一级目录。第三个参数就是我们所传进的参数,最后得到的结果正好就是我们所指定的那一级目录。resolve('src/components')复制代码

指向的就是components目录。

vue-cli 3.0 中如何使用?

在vue-cli3.0 中不再使用传统的webpack配置文件,而是已经内嵌了webpack的基础配置。同时预留了vue.config.js供开发者对webpack进行自定义配置。这个文件是建在与src同级的目录里。

在这里我们同样先声明path:

const path=require('path');复制代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值