解决JS文件引用路径多层查找

一 问题

路径结构 0

      0-1
      0-1-0
      0-1-2
        0-1-2-0
          0-1-2-0-0
      0-2
        0-2-0

如过0-1-2-0-0里面的文件引用0-2-0里面的文件:
(1)相对路径写法

../../../../0-2/0-2-0/file

(2)绝对路径写法

/0-2/0-2-0/file

使用相对路径引用每次引用都要花费精力写很长的路径查找;
而使用绝对路径会有安全性的问题(test)

二 解决方案

1. webpack alias

module.exports={
...
  resolve: {
    alias: {
      src: path.resolve(__dirname,'./src'),
    },
  },
...
}

Question:
如果使用了ESlit,ESlint无法识别你自定义的路径变量,会报错
2.解决ESlint报错:
使用 eslint-import-resolver-webpack,告诉eslint,使用webpack的resolver来检查package是否引用正确

1.安装

npm install eslint-import-resolver-webpack  --save

2.修改.eslintrc
配置示例:

module.exports = {
   // ...
   // eslint-import-resolver-webpack 让eslint,使用webpack的resolver来检查package是否引用正确
   settings: {
       "import/resolver": 'webpack',
   },
 };

alias同样会有在IDE中无法定位函数和模块的问题等智能提示无法使用的问题
更过配置请参考:eslint-import-resolver-webpack
3.智能路径提示
现在路径变量已经能正常工作了。但是在IDE下编辑有点问题:
(1)智能路径提示不能用了
解决方案:vscode jsconfig.json
jsconfig.json:https://code.visualstudio.com...

添加jsconfig.json

{
    "compilerOptions": {
        "target": "es6",
        "baseUrl": ".",
        "paths": {
            "src": ["./src/*"],
        }
    },
    "include": [
        "src/**/*",
    ]
}

4.定位模块
解决方案:使用VScode插件Path Intellisense
https://marketplace.visualstu...

5.然后使用 'src/utils' 相当于 '/src/utils'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值