首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Tslint或tsconfig中禁用深度导入?

在TypeScript项目中,如果你想要禁止深度导入(deep imports),你可以通过配置TSLint或tsconfig.json来实现

方法1:使用TSLint

  1. 首先,确保你已经安装了tslinttslint-import-destructuring
代码语言:javascript
复制
npm install tslint tslint-import-destructuring --save-dev
  1. 在项目的根目录下创建或编辑tslint.json文件,添加以下规则:
代码语言:javascript
复制
{
  "rules": {
    "import-destructuring/destructuring": [true, { "allowImportFromCore": false }]
  }
}

这将禁止从@angular/core包中导入任何深度导入。

方法2:使用tsconfig.json

从TypeScript 3.7开始,你可以使用paths属性来禁止深度导入。

  1. 在项目的根目录下创建或编辑tsconfig.json文件。
  2. 添加paths属性并设置"noImplicitReturns": true
代码语言:javascript
复制
{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@angular/*": ["node_modules/@angular/*"],
      "rxjs/*": ["node命名空间rxjs/*"]
    },
    "noImplicitReturns": true
  }
}

这将确保TypeScript编译器不允许从@angular/core包中导入任何深度导入。

注意

  • 使用这些配置后,如果你尝试进行深度导入,TypeScript编译器或TSLint将抛出一个错误。
  • 如果你使用的是Angular项目,请确保遵循Angular官方文档中的模块导入建议。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Angular 10 正式发布,不再支持 IE910!

TypeScript 升至 TypeScript 3.9 TSLib 已更新至 v2.0 TSLint 已更新至 v6 我们还更新了项目布局。...从 v10 开始,你将看到一个新的 tsconfig.base.json。这个新增的 tsconfig.json 文件可以更好地支持 IDE 和构建工具解析类型和包配置。...新值的副作用是默认为新项目禁用了 ES5 构建。...要为需要它的浏览器(例如 IE 或 UC 浏览器)启用 ES5 构建和差异化加载,只需在.browserslistrc 文件中添加你要支持的浏览器即可。...在过去的三周中,我们在框架、工具和组件中的未解决问题数量减少了 700 多个。我们已解决了 2,000 多个问题,并计划在接下来的几个月中投入大量资源,与社区合作做更多事情。

2.5K20

【TypeScript】014-工程相关

TSLint, we will deprecate TSLint and help users migrate to ESLint1) 综上所述,目前以及将来的 TypeScript 的代码检查方案就是...✅️ ❌ 上例中,我们使用了 var 来定义一个变量,但其实 ES6 中有更先进的语法 let 和 const,此时就可以通过 eslint 检查出来,提示我们应该使用 let 或 const 而不是...规则的取值一般是一个数组(上例中的 @typescript-eslint/consistent-type-definitions),其中第一项是 off、warn 或 error 中的一个,表示关闭、警告和报错...需要注意的是,由于 ESLint 也可以检查一些代码格式的问题,所以在和 Prettier 配合使用时,我们一般会把 ESLint 中的代码格式相关的规则禁用掉,否则就会有冲突了。...建议在 tsconfig.json 中添加以下配置,使 tsc 编译过程能够检查出定义了未使用的变量: { "compilerOptions": { "noUnusedLocals

10110
  • Angular系列教程-第五节

    @NgModule 的参数是一个元数据对象,用于描述如何编译组件的模板,以及如何在运行时创建注入器。...公开其中的部分组件、指令和管道,以便其它模块中的组件模板中可以使用它们。 导入其它带有组件、指令和管道的模块,这些模块中的元件都是本模块所需的。 提供一些供应用中的其它组件使用的服务。...这些可声明的类在当前模块中是可见的,但是对其它模块中的组件是不可见的 —— 除非把它们从当前模块导出, 并让对方模块导入本模块。...同样,也要使用 @Injectable() 装饰器来表明一个组件或其它类(比如另一个服务、管道或 NgModule)拥有一个依赖。...tsconfig.json 工作空间中各个项目的默认 TypeScript 配置。 tslint.json 工作空间中各个项目的默认 TSLint 配置。

    2.9K20

    【TypeScript 编程】001-002 第 1 章 导言 与 第 2 章 TypeScript 概述

    程序运行逻辑 第一步:程序员编写代码文本、形成文件、构成程序; 第二步:编译器将程序代码转换成抽象句法树(abstract syntax tree, AST); AST 是去掉了空白、注释和缩进用的制表符或空格之后的数据结构...为代码编辑器(如 VS Code)安装恰当的 TypeScript 扩展,若代码出错则会有提示。...,需要通过 NodeJS 运行,我们称之为自托管编译器或自编译型编译器。...每个 TypeScript 项目都应该在根目录中放一个名为 tsconfig.json 的文件,在该文件中定义要编译那些文件、把文件编译到哪个目录中,以及使用哪个版本的 JavaScript 运行。...第一步:在根目录下新建一个名为 tsconfig.json 的文件 第二步:使用代码编辑器输入下面内容 下面的内容应该得到重视!

    6710

    如何在 Windows 上安装 Angular:Angular CLI、Node.js 和构建工具指南

    Angular CLI, Node.js, and Build Tools,作者为Ahmed Bouchefra 在本教程中,我们将学习如何在 Windows 中安装 Angular CLI 并使用它来创建...它使您免于复杂配置和构建工具(如 TypeScript、Webpack 等)的麻烦。...build (b): 将 Angular 应用程序编译到给定输出路径上名为 dist/ 的输出目录中。必须从工作空间目录中执行。 config: 检索或设置 Angular 配置值。...:TypeScript 的配置文件 tslint.json:TSlint(静态分析工具)的配置文件 为您的项目服务 Angular CLI 提供了一个完整的工具链,用于在本地计算机上开发前端应用程序。...结论 在本教程中,我们了解了如何在 Windows 计算机上安装 Angular CLI,并使用它从头开始初始化一个新的 Angular 项目。

    62000

    React Native工程中TSLint静态检查工具的探索之路

    三、如何进行TSLint规则配置与检查 首先,在工程package.json文件中配置TSLint包: ? 在根目录中的tslint.json文件中可以根据需要配置已有规则,例如: ?...有些时候,虽然配置某些规则开启,但是某个文件内可能会关闭某些甚至全部规则检查,这时候可以通过规则注释来配置,如: /* tslint:disable */ 上述注释表示本文件自此注释所在行开始,以下的所有区域关闭...--project tsconfig.json --config tslint.json (此命令如果不正确运行,可在之前加入..../node_modules/.bin/tslint --project tsconfig.json --config tslint.json 从而会提示出类似以下错误的信息: src/Components...之后在项目的根目录里面,使用以下命令既可进行检查: tslint --project tsconfig.json --config tslint.json 同时为了未来新增规则以及规则配置的更好的操作性

    2.7K20

    Angular 从入坑到挖坑 - Angular 使用入门

    验证是否安装成功 ## 查看 angular cli 版本 ng v ## 查看 angular cli 中的各种命令解释 ng help ?...app.e2e-spec.ts - 针对当前应用的端到端单元测试文件 app.po.ts - 单元测试源文件 protractor.conf.js - protractor 测试工具配置文件 tsconfig.json...- 当前工作空间最外层根应用的专属 typescript 配置文件 tsconfig.json - 当前工作空间中各个项目的基础 typescript 配置文件 tsconfig.spec.json...- 当前工作空间最外层根应用的专属 tslint 配置文件 tslint.json - 当前工作空间中各个项目的基础 tslint 配置文件 ---- 1 工作空间类似于 .NET 项目中的解决方案...,在一个工作空间内可以创建多个的项目↩ 2 现代浏览器支持的某些原生 API,当用户使用老版本的浏览器或某些浏览器时并不支持,只要使用了 polyfills 这个库, 即可对于这些无法使用的浏览器添加支持

    2K20

    阿里大佬漫谈 Typescript 研发体系建设~

    ,然后在项目 tsconfig.json 中开启 skipLibCheck 配置。 TypeScript 有一个槽点,第三方包不提供类型。时至 9102 年,该问题已然缓解很多,但仍被广泛提起。...如今 tslint 已经被整合到 eslint ,然而 tslint rule 依然可以在 eslint 中使用。...我们通过社区的、自研的 tslint/eslint rule,有效的矫正了团队类型使用姿势。 tslint 已经整合到 eslint。...我们认真挑选了社区大多数的 eslint 规则,配合 tsconfig、prettier、、工具的配置、提交时检查的配置等等,收集到了团队的工程体系 pri 中。...我在团队推行了如下 OOP 使用规范: 1、class 声明属性时,如业务模型有默认值,应当声明默认值,避免重复定义默认值模型;默认值可以推导属性类型,不再重复声明类型。

    1.4K40

    初次在Vue项目使用TypeScript,需要做什么

    今年1月份,TypeScript官方发布博客推荐使用ESLint来代替TSLint。...官方的解释: 我们注意到TSLint规则的操作方式存在一些影响性能的体系结构问题,ESLint已经拥有了我们希望从linter中得到的更高性能的体系结构。...此外,不同的用户社区通常有针对ESLint而不是TSLint构建的lint规则(例如React hook或Vue的规则)。鉴于此,我们的编辑团队将专注于利用ESLint,而不是复制工作。...对于ESLint目前没有覆盖的场景(例如语义linting或程序范围的linting),我们将致力于将ESLint的TypeScript支持与TSLint等同起来。...TypeScript 时,不必一次性将所有文件都改为ts语法,原有的语法也是可以正常运行的,最好就是单个修改 初次改造时出现一大串的错误是正常的,基本上都是类型错误,按照错误提示去翻译进行修改对应错误 在导入

    6.6K40

    基于TypeScript封装Axios笔记(一)

    通常我们初始化一个项目,需要配置一大堆东西,比如 package.json、.editorconfig、.gitignore 等;还包括一些构建工具如 rollup、webpack 以及它们的配置。...当我们使用 TypeScript 去写一个项目的时候,还需要配置 TypeScript 的编译配置文件 tsconfig.json 以及 tslint.json 文件。...同样在 package.json 中帮我们配置了一些 npm scripts,接下来我们先列举一下我们开发中常用的 npm scripts,剩余的我们在之后学习中遇到的时候再来介绍。...代码块为空我们比较好理解,第一个错误的原因是因为我们给 TypeScript 编译配置的 strict 设置为 true 导致 编译配置文件 tsconfig.json tsconfig.json 文件中指定了用来编译这个项目的根文件和编译选项...的 query string 中的。

    3.5K20

    Angular实战之使用NG-ZORRO创建一个企业级中后台框架(进阶篇)

    前言:   上一篇文章我们讲了如何在创建的Angular项目中快速引入ng-zorro-antd企业中台组件库,并且快速构建后台管理页面框架模板。...// app项目的TypeScript的配置文件 |-- tsconfig.json // 整个工作区的TypeScript配置文件 |-- tsconfig.spec.json // 用于测试的TypeScript...配置文件 |-- tslint.json // TypeScript的代码静态扫描配置 |-- src目录 |-- app // 工程源码目录 |-- assets // 资源目录 |-- environments...[请求数据时使用] ngDoCheck() 检测,并在发生 Angular 无法或不愿意自己检测的变化时作出反应。...2、配置首页组件路由(多模块路由完美解决): 首先,我们的博客项目存在博客管理和用户管理两个核心模块,我们创建了两个模块,那么我们如何在【app-routing.module.ts】应用路由文件中配置多个模块的路由

    4K20

    10 个关于 TypeScript 的小技巧

    您可以通过在 tsconfig.json 中添加严格的 null 检查来使其更加安全并限制这种行为: { "compilerOptions": { "strictNullChecks": true...您可以做的是通过添加以下内容来编辑所有这些文件 // tslint:disable 在每个文件的第一行中,这样 TSLint 不会真正检查它们。...由于我们希望将any限制为绝对最小值,因此通常建议使用另一个tsconfig.json设置来限制该行为: { "compilerOptions": { "noImplicitAny...更准确地说:它将根据您退回或未退回的商品推断出退货价值。 幸运的是,TSLint可以为您提供帮助。...{ id: string; } class BookmarksService { items: Bookmark[] = []; } 您想在不同的应用程序中使用它,例如 用于存储书籍或电影

    1.3K10
    领券