首页
学习
活动
专区
圈层
工具
发布

【TypeScript】014-工程相关

✅️ ❌ 上例中,我们使用了 var 来定义一个变量,但其实 ES6 中有更先进的语法 let 和 const,此时就可以通过 eslint 检查出来,提示我们应该使用 let 或 const 而不是...对于未定义的变量 myNane,tsc 和 eslint 都可以检查出来。 由于 eslint 无法识别 myName 存在哪些方法,所以对于拼写错误的 toString 没有检查出来。...规则的取值一般是一个数组(上例中的 @typescript-eslint/consistent-type-definitions),其中第一项是 off、warn 或 error 中的一个,表示关闭、警告和报错...(比如使用 enum 定义的变量)未使用,ESLint 却没有报错?...建议在 tsconfig.json 中添加以下配置,使 tsc 编译过程能够检查出定义了未使用的变量: { "compilerOptions": { "noUnusedLocals

1.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Node.js项目TypeScript改造指南

    、strictFunctionTypes、strictBindCallApply等设置true */ "noUnusedLocals": true, /* 未使用局部变量报错...TypeScript-ESLint 早期的 TypeScript 项目一般使用 TSLint ,但2019年初 TypeScript 官方决定全面采用 ESLint,因此 TypeScript 的规范,...这也是为啥前面说不用着急改,先做好 ESLint 配置。 接着我们将模块导入改成 TypeScript 的 import,这里共有4种写法,分别讲一下需要注意的问题。...所幸,tsconfig 提供了一个配置allowSyntheticDefaultImports,意思是允许从没有设置默认导出的模块中默认导入,需要注意的是,这个属性并不会对代码的生成有任何影响,仅仅是给出提示...提示你使用default导入或import require写法,当你改成default导入时:import moment from'moment'; moment(); ,则在导入语句处会提示: Module

    5.6K10

    Node.js项目TypeScript改造指南

    、strictFunctionTypes、strictBindCallApply等设置true */ "noUnusedLocals": true, /* 未使用局部变量报错...TypeScript-ESLint 早期的 TypeScript 项目一般使用 TSLint ,但2019年初 TypeScript 官方决定全面采用 ESLint,因此 TypeScript 的规范,...这也是为啥前面说不用着急改,先做好 ESLint 配置。 接着我们将模块导入改成 TypeScript 的 import,这里共有4种写法,分别讲一下需要注意的问题。...所幸,tsconfig 提供了一个配置allowSyntheticDefaultImports,意思是允许从没有设置默认导出的模块中默认导入,需要注意的是,这个属性并不会对代码的生成有任何影响,仅仅是给出提示...提示你使用default导入或import require写法,当你改成default导入时:import moment from'moment'; moment(); ,则在导入语句处会提示: Module

    5.3K20

    Node.js 项目 TypeScript 改造指南

    、strictFunctionTypes、strictBindCallApply等设置true */ "noUnusedLocals": true, /* 未使用局部变量报错...TypeScript-ESLint 早期的 TypeScript 项目一般使用 TSLint ,但2019年初 TypeScript 官方决定全面采用 ESLint,因此 TypeScript 的规范,...这也是为啥前面说不用着急改,先做好 ESLint 配置。 接着我们将模块导入改成 TypeScript 的 import,这里共有4种写法,分别讲一下需要注意的问题。...所幸,tsconfig 提供了一个配置allowSyntheticDefaultImports,意思是允许从没有设置默认导出的模块中默认导入,需要注意的是,这个属性并不会对代码的生成有任何影响,仅仅是给出提示...提示你使用default导入或import require写法,当你改成default导入时:import moment from'moment'; moment(); ,则在导入语句处会提示: Module

    9.3K32

    从 0 到 1 搭建一个企业级前端开发规范

    ) exhaustive-deps 规则,此规则会在useEffct添加错误依赖时发出警告并给出修复建议 @typescript-eslint/parser:将 TypeScript 代码纳入 ESLint...警告 export default function () { return 1; } // 下面的函数不会出现警告 export var fn = function (): number {...lint:prettier:当想要检查文件是否已被格式化时,则可以使用--check标志(或-c)运行 Prettier。...这将输出一条语义化的消息和未格式化文件的列表。上面脚本的意思是格式化src目录下的所有文件 prettier:重新格式化所有已被处理过的文件。类似于eslint --fix的工作。...")], globals: { // 全局变量:在全局中使用 REACT_APP_ENV时 eslint就不会出现警告 REACT_APP_ENV: true, }, };

    3.6K20

    如何在大型代码仓库中删掉 6w 行废弃的文件和 exports?

    导出导入分析 使用测试下来, pzavolinsky/ts-unused-exports 确实可以靠谱的分析出 未使用的 export 变量 ,但是这种分析 import、export 关系的工具,只是局限于此...,不会分析 export 出去的这个变量 在代码内部是否有使用到 。...第一步的改写后,很多 export 出去的变量 被其他模块引用 ,但由于在 模块内部未使用 ,也会 被分析为未使用变量 。...转而一想, pzavolinsky/ts-unused-exports 这个工具既然都能分析出 所有文件的 导入导出变量的依赖关系 ,那分析出未使用的文件应该也是小意思才对。...,而经常有项目 A 里的文件或变量被项目 B 所依赖使用的情况。

    5.5K20

    如何在大型代码仓库中删掉废弃的文件和 exports?

    导出导入分析 使用测试下来, pzavolinsky/ts-unused-exports[3] 确实可以靠谱的分析出 未使用的 export 变量 ,但是这种分析 import、export 关系的工具...,只是局限于此,不会分析 export 出去的这个变量 在代码内部是否有使用到 。...第一步的改写后,很多 export 出去的变量 被其他模块引用 ,但由于在 模块内部未使用 ,也会 被分析为未使用变量 。...转而一想, pzavolinsky/ts-unused-exports[12] 这个工具既然都能分析出 所有文件的 导入导出变量的依赖关系 ,那分析出未使用的文件应该也是小意思才对。...,而经常有项目 A 里的文件或变量被项目 B 所依赖使用的情况。

    5.5K60

    代码规范之-理解ESLint、Prettier、EditorConfig

    关于TSLint(已停止维护) 使用过TypeScript的童鞋对于TSLint应该不会陌生,它是由TypeScript团队推出并维护的。...要改变一个规则设置,你必须将规则 ID 设置为下列值之一: "off" 或 0 - 关闭规则 "warn" 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出) "error" 或...2 - 开启规则,使用错误级别的错误:error (当被触发的时候,程序会退出) Globals-配置额外的全局变量 启用ESLint规则后,当访问当前源文件内未定义的变量时,no-undef 规则将发出警告...而有时候,我们是需要在其他文件访问一些全局变量的,且保证能正常取到值。这时可以在 ESLint 中定义这些全局变量,这样 ESLint 就不会发出警告了。.../ 复制代码 配置文件中通过globals 配置属性设置,对于每个全局变量键,将对应的值设置为 "writable" 以允许重写变量,或 "readonly" 不允许重写变量。

    4.1K30

    深度讲解TS:这样学TS,迟早进大厂【21】:代码检查

    上例中,我们使用了 var 来定义一个变量,但其实 ES6 中有更先进的语法 let 和 const,此时就可以通过 eslint 检查出来,提示我们应该使用 let 或 const 而不是 var。...对于未定义的变量 myNane,tsc 和 eslint 都可以检查出来。 由于 eslint 无法识别 myName 存在哪些方法,所以对于拼写错误的 toString 没有检查出来。...规则的取值一般是一个数组(上例中的 @typescript-eslint/consistent-type-definitions),其中第一项是 off、warn 或 error 中的一个,表示关闭、警告和报错...关闭、警告和报错的含义如下: 关闭:禁用此规则 警告:代码检查时输出错误信息,但是不会影响到 exit code 报错:发现错误时,不仅会输出错误信息,而且 exit code 将被设为 1(一般 exit...为什么有些定义了的变量(比如使用 enum 定义的变量)未使用,ESLint 却没有报错?§ 因为无法支持这种变量定义的检查。

    3.3K20

    用TypeScript编写React的最佳实践

    在大多数情况下,它不会发出任何 JavaScript 输出。输出仍然类似于非 TypeScript React 项目。 TypeScript 可以与 React 和 Webpack 一起使用吗?...": true, // 报告未使用的本地变量的错误 "noUnusedParameters": true, // 报告未使用参数的错误 "experimentalDecorators":...组件 React 的核心概念之一是组件。在这里,我们将引用 React v16.8 以后的标准组件,这意味着使用 Hook 而不是类的组件。 通常,一个基本的组件有很多需要关注的地方。...无论你为组件 Props 使用 type 还是 interfaces ,都应始终使用它们。 如果 props 是可选的,请适当处理或使用默认值。...还记得我们如何看待两种类型组件 Props、type 或 interfaces 的方法吗?取决于你使用的组件决定了你如何扩展组件 Props 。

    5.6K51

    深入浅出 Eslint,告别 Lint 恐惧症

    }; // index.js console.log(wangHaoyu); 当访问当前源文件内未定义的变量时,no-undef 规则将发出警告。...如果我们想在一个源文件里使用某些全局变量,并且避免 EsLint 发出错误警告。那么我们可以使用 globals 配置来定义这些特殊的全局变量。...我们可以通过以下规则选项设置当前规则的检测等级: "off" 或 0 表示关闭本条规则检测 "warn" 或 1 表示开启规则检测,使用警告级别的错误:warn (不会导致程序退出) "error" 或...console 进行警告检测 'no-unused-vars': ['error'], // 对于未使用的变量进行错误检测 }, }; // index.js console.log('...比如,通常在我们使用 Eslint 来检查我们的代码时,需要将解析器替换为 @typescript-eslint/parser 的同时针对于一些 TypeScript 特定语法我们还需要使用 @typescript-eslint

    2.4K20

    在 Vue 项目中添加代码审查与依赖修改(基于 ESLint)

    在团队协作或个人开发 Vue 项目的过程中,代码风格不一致、潜在错误未能及时发现,是非常常见的问题。为了解决这些问题,我们通常会在项目中引入 ESLint 进行代码审查,从而提升代码质量与可维护性。...提前发现潜在错误ESLint 可以帮助我们检测未使用的变量、未定义的变量、可能导致 bug 的语法等问题。提升可维护性一致且规范的代码风格,能让项目更易读,也方便新人快速上手。...--save-dev# 如果使用 TypeScript,还需要额外安装npm install @typescript-eslint/parser @typescript-eslint/eslint-plugin...{ ecmaVersion: "latest", sourceType: "module", }, rules: { "no-unused-vars": "warn", // 未使用变量仅警告....js,.vue src", "lint:fix": "eslint --ext .js,.vue src --fix"}npm run lint:检查代码问题,不会修改。

    49700

    eslint+prettier学习

    if语句如果没有包大括号不会加大括号,会从两行转为一行 多个import后面加一个空行 字符串使用单引号 缩进为2个空格 未定义的变量会报错 箭头函数前后需要空格 未使用的变量会报错 standard...2个空格 字符串使用单引号 自动把import引入的包放在了最上面 多个Import之间有空行,最后一个import之后不会有空行 未定义的变量会报错 箭头函数前后需要空格 未使用的变量会报错 alloy...规则特点 不去掉分号 字符串使用单引号 相对上面两个力度较小,import没有自动提到最上面, 未定义的变量不会报错 缩进为2个空格 箭头函数前后没有空格要求 未使用的变量会报错 eslint:recommended...粒度比较小,依然支持双引号,也没有空格,仅报错了未定义的变量和未使用的变量 eslint:all 粒度相当大,各种空行,console.log里都是换行,if语句里面都是空行,import不会提到前面...使用此规则的方式见下面 :eslint+prettier配合配置 大概看出的几个共同点 都会把没有改变过的变量从let定义改为const定义 字符串都转为单引号 该有的空格都有 未使用的变量会报错

    2.7K20

    eslint 报错解决

    根据 ESLint 配置,自动修复一些可以自动修复的代码问题(如格式化、删除多余的空格、调整括号位置等)对于那些不能自动修复的问题(如逻辑错误或未定义的变量),ESLint 会输出警告或错误提示。...单引号 vs 双引号:会根据配置修复引号的使用方式(例如强制使用单引号 ' 还是双引号 ")简单语法调整:冗余的 return 语句:如果一个函数只包含一个 return 语句优化的导入语句:自动调整...变量未使用:如果有未使用的变量,ESLint 会警告2.语法错误:不匹配的括号、花括号等:如果括号没有正确关闭,ESLint 无法修复这些问题。...缺少依赖:如果有一些规则要求你引入特定的库3 强制执行的业务规则自定义规则:如果项目中使用了自定义的 ESLint 插件或规则。...❌ ✅ vue/order-in-components未使用变量 ❌ ✅ no-unused-vars 代码逻辑错误 ❌

    99600

    Vue2.7正式发布,终于可以在Vue2项目中使用Vue3的特性了,真香~

    前言尽管现在 Vue3 是默认版本,但还有许多用户、相关库、周边生态使用的是 Vue2,且由于依赖兼容性、浏览器支持要求或没有足够的带宽升级,导致不得不继续使用 Vue2。...userId,而不用写一长串 && ,也可以直接使用零合并操作符 ?? 来给变量赋一个默认值了,而不需要用可能导致 bug 的或 ||。...中使用数组作为 root 值,因为如果没有属性访问,则不会跟踪数组的变化(这将导致警告);Reactivity APIs 忽略带有 symbol 键的属性。...此外,以下功能是未移植的:❌ createApp()(Vue2 没有独立的应用范围)❌ 中的顶层 await(Vue2 不支持异步组件初始化)❌ 模板表达式中的 TypeScript...(5)如果在使用 时遇到未使用的变量的 lint 错误,请将 eslint-plugin-vue 更新到最新版本 (9+)。

    4.2K20
    领券