首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

4.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

4.5K10

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

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

4.6K20

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

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

4.5K60

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

8.2K32

从 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, }, };

2.8K20

深度讲解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 却没有报错?§ 因为无法支持这种变量定义检查。

2.5K20

代码规范之-理解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" 不允许重写变量

2.7K30

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 。

4.6K51

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定义 字符串都转为单引号 该有的空格都有 使用变量会报错

2K20

深入浅出 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

1.8K20

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

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

3.1K20

Rollup 与 Webpack Tree-shaking

主要分为三类: 代码不会被执行,不可到达 代码执行结果不会被用到 代码只会影响死变量(只写不读) Tree-shaking 目的就是将这三类代码在最终包中剔除,做到按需引入。...在使用 CommonJS 时,必须导入完整工具 (tool) 库 (library) 对象,且可带有条件判断来决定是否导入。...无需导入整个 utils 对象,我们可以只导入我们所需使用 request 函数,但此处 import 是不能在任何条件语句下进行,否则就会报错。...ES2015 模块)",由此可以安全地删除文件中使用部分。...因此我们可以得出结论: 在 import 三方工具库、组件库时不要全量 import。 设置改动全局变量需谨慎。

1.2K30

一份 2.5k star 《React 开发思想纲领》

只在最顶层使用 hook,不要在循环、条件嵌套语句中使用 hook。 理解不能对已经卸载组件执行状态更新控制台警告。...使用 Prettier 来保证代码格式化一致性! 使用 TypescriptNextJS这样框架来提升开发体验。 强烈推荐 Code Climate(其他类似的)开源库。...❌ 定义了大量函数方法类/组件 ❌ 单个函数方法中代码行数太多 ❌ 具有大量返回语句函数方法 ❌ 不完全相同但代码结构类似的重复代码(比如变量名可能不同) 切记,代码异味并不一定意味着代码需要修改...ESLint不会给你提示,因为 React 已经确保了它们不会出错。...把 Context 放在组件树中尽可能低位置。同样道理,你变量,注释和状态(和普通代码)也应该放在靠近他们被使用地方。

79820
领券