配置 Webpack resolve alias 简化相对路径 import

webpack 配置

在 js 中 import 相对路径代码的时候经常出现路径层级较深的情况,引入起来比较麻烦(虽然 webstorm 支持提示简化了不少),所以在 webpack 中可以做如下配置:

        resolve: {
            alias: {
                '@': path.resolve(__dirname, './src'),
            }
        },

于是 import {getJson, del} from '../../../../model/apiUtils'; 就可以写成 import {getJson, del} from '@/model/apiUtils';

当然,使用 resolve.modules 也可以达到类似效果:

        resolve: {
            modules: [
                context,
                'node_modules',
            ]
        },

这样配置的话引入语句就变成了 import {getJson, del} from 'model/apiUtils

不过这样的缺陷也很明显,如果自己的某个文件夹与 node_modules 下的组件同名的话会忽略后者,这样可能无法达到我们想要的效果,所以推荐使用 alias 模式。

eslint 配置

不过上述配置之后,在 eslint 里面会提示:

Unable to resolve path to module '@/component' import/no-unresolved

解决办法是使用 eslint-import-resolver-alias,在 eslint 配置中增加如下代码:

"settings": {
    "import/resolver": {
      "alias": {
        "map": [
          ["@", "./src"]
        ],
        "extensions": [".js", ".jsx", ".json"]
      }
    }
  },

Over

转载于:https://my.oschina.net/someok/blog/2050469

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值