TS(tsconfig) 中路径映射的坑

起因

由于项目中代码层级比较深,且多。所以相互之间引用起来会比较麻烦,各种 …/,…/…/,…/…/…/ 等等
为了解决这个问题,使用 tsconfig 的 compilerOptions.paths 搭配 compilerOptions.baseUrl 来实现,但是遇到设置之后不生效的问题。

原始配置

在这里插入图片描述

可以看到我们的 tsconfig 与 src 是在同级目录,我们的 include 中表示包含 src 下所有文件。这个时候我们如果再指定同样 src 下面的特别的映射就不会生效,所以我们需要去掉 include 属性,再重启编辑器就行了

结语

这里的配置只是验证是否成功映射,如果需要方便自动 import 和 路径智能提示的话,最好是按照越精确的路径越在前来配置,也就是:

"paths": {
      "@lolita/core/*": ["src/framework/core/*"],
      "@lolita/server-side/*": ["src/framework/server-side/*"],
      "@/*": ["src/*"]
    }

另外对于这个问题的具体原因分析我也只是猜测,如有不对,还望指教。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,针对你的问题,我可以给出一份示例的 `tsconfig.json` 文件配置,适用于开发微信小程序的 TypeScript 项目,如下所示: ``` { "compilerOptions": { "target": "es2019", "module": "commonjs", "lib": ["es6", "dom"], "sourceMap": true, "outDir": "./dist", "strict": true, "esModuleInterop": true, "moduleResolution": "node", "experimentalDecorators": true, "allowSyntheticDefaultImports": true, "noImplicitAny": false, "suppressImplicitAnyIndexErrors": true, "declaration": true, "declarationDir": "./types" }, "include": ["src/**/*"], "exclude": ["node_modules", "**/*.spec.ts"] } ``` 这是一个基本的微信小程序 TypeScript 配置,其包含了一些常用的选项,比如: - `"target"`:指定编译的目标 ECMAScript 版本。 - `"module"`:指定模块解析策略。 - `"lib"`:指定编译时需要引用的库文件。 - `"sourceMap"`:是否生成 sourcemap 文件。 - `"outDir"`:指定编译输出目录。 - `"strict"`:启用所有严格类型检查选项。 - `"esModuleInterop"`:启用模块间的互操作性支持。 - `"moduleResolution"`:指定模块解析方式。 - `"experimentalDecorators"`:启用装饰器语法支持。 - `"allowSyntheticDefaultImports"`:允许导入默认值。 - `"noImplicitAny"`:禁止隐式的 any 类型。 - `"suppressImplicitAnyIndexErrors"`:禁止隐式的 any 类型索引。 - `"declaration"`:生成 `.d.ts` 声明文件。 - `"declarationDir"`:声明文件输出目录。 当然,这只是一个示例,具体的配置取决于你的实际需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值