首页
学习
活动
专区
工具
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系列教程-第五节

1.模块 NgModule 是一个带有 @NgModule 装饰器的类。 @NgModule 的参数是一个元数据对象,用于描述如何编译组件的模板,以及如何在运行时创建注入器。 它会标出该模块自己的组件、指令和管道,通过 exports 属性公开其中的一部分,以便外部组件使用它们。 NgModule 还能把一些服务提供商添加到应用的依赖注入器中。 NgModule 的元数据会做这些: 声明某些组件、指令和管道属于这个模块。 公开其中的部分组件、指令和管道,以便其它模块中的组件模板中可以使用它们。 导入其它带有组件、指令和管道的模块,这些模块中的元件都是本模块所需的。 提供一些供应用中的其它组件使用的服务。 每个 Angular 应用都至少有一个模块,也就是根模块。 你可以引导那个模块,以启动该应用。

02
  • 前端项目结构和如何开发

    my-project ├── .idea # 这个是编辑器生成的 ├── build # Webpack 配置文件放在这里 ├── config # Vue 基本配置文件放在这里 ├── node_modules # 第三方依赖 ├── src # 项目源码(核心文件) │ ├── assets # 资源文件(js, css, scss) │ ├── components # 所有组件 │ ├── js # 自己写的 js,里面各种工具类方法等 │ ├── mixins # 混合 │ ├── router # 路由 │ ├── vuex # 状态管理 │ ├── App.vue # 根组件 │ └── main.js # 入口文件 ├── static # 静态资源,一般放 img ├── theme # 主题文件,修改的 Element-UI 主题 ├── .babelrc # babel 编译配置 ├── .editorconfig # 代码格式 ├── .gitignore # Git 提交忽略的文件配置 ├── .postcssrc.js # 转换 css 的工具配置文件 ├── element-variables.css # Element 全局定义的变量,不明白为啥放这儿 ├── index.html # 主页模板 ├── package-lock.json # 用来锁定依赖的版本号(NPM 自动生成) ├── package.json # 项目基本信息 └── README.md # 项目介绍 ————————————————

    01
    领券