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

如何制定企业级代码规范与检查

本文目标 目标不是一次全部定出来的,实践和调研过程中会添加一些 去掉项目中原有的 TSLint ,统一使用 ESLint,但是 ESLint 中加入 TSLint 检测插件 Prettier 支持的格式化规则全部使用...我们目前选择的方式不是继承,挑选出了一些适合我们的 ESLint 规则(因为是原有代码重新建立规范,防止改动过大)。...create 返回一个对象,其中定义了一些 AST 遍历访问到对应节点需要执行的方法等等。...}, onCodePathEnd: function(codePath, node) { // 分析代码路径结束时执行...用 Prettier 提供的 Playground 更直观一些: ? 上图左侧是手写代码,中间是 AST(去掉了任何代码风格),右侧是重新输出的结果。

1.9K20

你要知道的 Npm Script 都在这里

他们的目标是提供一种简单的方法来执行重复的任务,比如: 启动项目 打包项目 执行单元测试,生成测试报告之类 …… 那如何定义一个NPM脚本?...", } } // 此写法与上面效果相同 { "scripts": { "lint": "eslint ." } } 命令 现在我们可以终端中执行 npm run...日志级别确定哪些日志将显示输出中。将显示比当前定义更高级别的任何日志。 我们可以使用--loglevel明确定义要在运行命令时使用的日志级别。...访问环境变量 执行 NPM 脚本时,NPM提供了一组我们可以使用的环境变量。...这里有一些例子: 我们可以使用下面的命令获取 config npm config ls -l 传递参数 某些情况下,您可能需要向脚本传递一些参数。您可以使用命令末尾的 -- 来实现这一点。

1.2K20

【Android Gradle 插件】自定义 Gradle 任务 ② ( Terminal 面板中执行 gradlew task 命令显示所有任务 | 命令行输出所有任务 | 单独执行指定任务 )

文章目录 一、 Terminal 面板中执行 gradlew task 命令显示所有任务 二、执行 gradlew task --all 命令命令行输出所有任务 三、单独执行指定的任务 Android...Terminal 面板中执行 gradlew task 命令显示所有任务 ---- Terminal 面板中执行 gradlew task 命令显示所有任务 : 每个任务之后都有该任务的具体作用...gradlew task --all 命令命令行输出所有任务 ---- 执行 gradlew task --all 命令 , 可以输出所有任务 , 主要是 执行 gradlew task 命令的基础上..., 将 other 分组下的任务显示出来 ; 三、单独执行指定的任务 ---- 这里以执行 app 下的 assemble 任务为例 : 想要单独执行指定的 Task 任务 , 可以右键点击 Gradle...面板 中任务列表中的任务项 , 然后选择第一个选项执行该任务 ; 也可以 Terminal 面板 中 , 执行 gradle :app:assemble 命令 ;

1.7K10

ESLint 的配置及使用

node test.js确保它是可以正确运行的(输出结果为{ a: 123, b: 456 }) 接着我们执行以下命令来使用 ESLint 检查: eslint test.js 可以看到,没有任何输出结果...接下来我们开始进行一系列的配置 eslint配置 写配置文件前我们需要介绍一下,eslint官方提供了3种预安装包,为我们提供一些规则的标准: 1.eslint-config-google Google...你可以执行以下命令查看所依赖的各个版本: npm info "eslint-config-airbnb@latest" peerDependencies 你会看到以下输出信息,包含每个了每个plugins...,它是一些前端工程师自定的标准。...这时候需要提一下我们上面说到的那一个个报错了,这只是简单的几行代码就报出来这么多的错,如果是一个项目的代码,那改起来真让人有些抓狂,但是eslint为我们提供了一个方法,--fix。

1.6K20

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

由此可见,eslint 能够发现出一些 tsc 不会关心的错误,检查出一些潜在的问题,所以代码检查还是非常重要的。.../parser 接下来需要安装对应的插件 @typescript-eslint/eslint-plugin 它作为 eslint 默认规则的补充,提供一些额外的适用于 ts 语法的规则。...需要注意的是,由于 ESLint 也可以检查一些代码格式的问题,所以和 Prettier 配合使用时,我们一般会把 ESLint 中的代码格式相关的规则禁用掉,否则就会有冲突了。...使用 AlloyTeam 的 ESLint 配置§ ESLint 原生的规则和 @typescript-eslint/eslint-plugin 的规则太多了,而且原生的规则有一些 TypeScript...打开输出面板,然后选择 ESLint 输出,查看具体错误。

2.5K20

零基础学习weex(三)weex工程及工具

简单来说,Eslint 是一个JavaScript验证工具,有了它可以让你的编辑器像ide一样进行一些静态的错误提示功能。...EsLint提供以下支持: ES6 AngularJS JSX Style检查 自定义错误和提示 EsLint提供以下几种校验: 语法错误校验 不重要或丢失的标点符号,如分号 没法运行到的代码块 未被使用的参数提醒...ESLint 一旦发现配置文件中有 “root”: true,它就会停止父级目录中寻找。...plugins 一个 npm 包,通常输出规则。一些插件也可以输出一个或多个命名的 配置。要确保这个包安装在 ESLint 能请求到的目录下。...1、安装 你可以自己使用npm安装:npm install -g eslint 你也可以Weex工程中配置, package.json 的devDependencies加入注释中表明的安装依赖,

1.4K20

Gitlab-ci:从零开始的前端自动化部署

gitlab-ci中涉及的一些基本概念 「1.Pipeline & Job」 Pipeline是Gitlab根据项目的.gitlab-ci.yml文件执行的流程,它由许多个任务节点组成, 而这些Pipeline...「 eslint阶段」 执行eslint检查,判断代码格式是否符合规范,如果不符合则pipeline终止。...在这之前,我先通过npm install eslint安装了eslint检查工具,然后项目根目录下配置了.eslintrc文件。这部分可自行参考相关资料,这里暂不多赘述。...那么这个时候YML的一些其他语法功能就派上用场了,上面我们将JSON和YML的基本结构做比较并发现它们的相似之处,但实际上,「YML提供了比JSON更为丰富的功能。」...extend关键字,它的功能和前面提到的YML的片段导入的功能是一样的, 不过可读性更好一些

1.7K50

使用 Typescript 开发 Nodejs 命令行工具

为何使用TypeScript 首先,对于编写类库或者工具而言,使用 TypeScript 的最大好处就是其提供了类型机制,可以避免我们犯一些低级错误。...使用 npx 执行 npx 是 npm 提供的命令,其会自动下载对应的包并执行. npx tsc 创建 npm 脚本 package.json 中的 script 中增加一行脚本: "script"...注册命令 开发 Nodejs 命令行工具,就是提供一个可以直接调用的命令,而不是使用下面这种方式执行文件: node lib/index.js 我们想要的效果是执行一个命令就能调用我们的 js 文件。...自动监听文件变动 我们希望每次更改了 .ts 文件之后,不必手动执行 npm run build 就能看到最新的效果,可以使用 typescript 的 --watch 选项, package.json...配置ESLint 使用 ESLint 校验我们的代码,可以避免一些低级错误。而 TypeScript 现在推荐采用 ESLint 来检查代码。我们可以为我们的工程配置 ESLint

81420

使用 Typescript 开发 Nodejs 命令行工具

为何使用TypeScript 首先,对于编写类库或者工具而言,使用 TypeScript 的最大好处就是其提供了类型机制,可以避免我们犯一些低级错误。...并且有非常详细的解释,我们做两个更改来适配我们的项目: + "sourceMap": true,+ "outDir": "lib", 上述配置指定生成 sourceMap 文件,并将 TypeScript 的编译结果输出到...使用 npx 执行 npx 是 npm 提供的命令,其会自动下载对应的包并执行. npx tsc 创建 npm 脚本 package.json 中的 script 中增加一行脚本: "script"...注册命令 开发 Nodejs 命令行工具,就是提供一个可以直接调用的命令,而不是使用下面这种方式执行文件: node lib/index.js 我们想要的效果是执行一个命令就能调用我们的 js 文件。...配置ESLint 使用 ESLint 校验我们的代码,可以避免一些低级错误。而 TypeScript 现在推荐采用 ESLint 来检查代码。我们可以为我们的工程配置 ESLint

1.7K11

【前端工程化】Rollup构建工具

“.map” 后缀来推断输出文件名。...四、增强打包能力 通过上述的一些Rollup本身提供的工具,很容易发现,比如代码压缩、代码混淆、兼容性处理等能力并不具备,但Rollup提供了plugins这项配置字段,它允许我们使用三方库来增加rollup...add eslint -D »4.4.2 初始化 yarn run eslint --init 执行这条命令后,会回答一些问题,然后默认配置好一个初始化的ESlint规则的配置文件 初始化完成后...,同时VScode中可以提供fix的快捷菜单。...»4.4.4 VScode配置 一般大家使用的都是VScode编写前端项目,所以团队项目中,还可以配置一个VScode的工作区配置,大家协同办公时候就能够很好地统一一些行为,例如ESlint保存代码的时候自动修复以及自动格式化

1.7K30

前端工程化实战 - 企业级 CLI 开发

比如每个人开发的习惯不同也会导致使用的 ESLINT 校验规则不同,会对 ESLINT 的配置做一些额外的修改,这也是不可控的一个点。一个团队还是使用同一套代码校验规则最好。...工具合集 既然是工具合集,那么可以放一些通用的工具类在里面,比如 图片压缩(png 压缩的更小的那种)、上传 CDN 等 项目升级(比如通用配置更新了,CLI 提供一键升级模板的功能) 项目部署、发布...创建 ESlint 工具类 第一步,对照文档 ESlint Node.js API,使用提供的 Node Api 直接调用 ESlint。...❞ 命令行进入刚刚的测试项目,直接输入命令 fe-cli eslint,就可以正常使用 Eslint 插件,输出结果如下: ?...image.png 美化输出 可以看出这个时候,提示并没有那么显眼,可以使用 chalk 插件来美化一下输出。 先将测试工程故意改错一个地方,再运行命令 fe-cli eslint ?

79740

ESLint 中大型团队的应用实践

对于独立开发者,或者执行力较强、技术场景较为单一的小型团队而言,直接使用 ESLint 及其生态提供一些标准方案,可以用较低成本来实现 JavaScript 代码规范的落地。...ESLint 特性简介 进行 ESLint 配置方案设计前,我们先看一下 ESLint一些特点。 1. 插件化 下图简单地描述了 ESLint 的工作过程: ?...ESLint 的能力更像一个引擎,通过提供的基础检测能力和模式约束,推动代码检测流程的运转。原始代码经过解析器的解析,管道中逐一经过所有规则的检查,最终检测出所有不符合规范的代码,并输出为报告。...但这仍不能避免因一些主观因素或疏漏造成的规范执行不到位,所以我们考虑开发工作流的特定节点自动执行代码静态检查,阻断不合规范代码的提交或交付。...进一步深入分析检查结果和统计数据,发现一些潜在问题,为推动开发质量提升提供辅助,如: 统计开发者工程中关闭或调整的规则,分析占比较高的规则被关闭的原因,进而调整规则或推动规则的执行

1.2K31

npm script

npm 提供快速创建package.json的命令:npm init ,接下来会让你回答几个问题,你可以设置成自己想要设置的然后回车就行了。 然后就生成了pcakage.json文件。...我们可以设置一些默认值,当执行npm init 时就会取用默认值。...1" }, 当我们命令行执行:npm run test时会输出: echo "Error: no test specified" && exit 1 没错的,这是因为package.json里面就是这么配置的...每次我们执行npm run XXX流程如下: package.json里读取script对象的所有配置 以npm run 后的第一个参数作为键,取得该键对应的值,以这个值作为要执行的命令。...因为npm 执行指定script之前会把node_modules/.bin文件加入到$PATH的前面,也就是说任何内含中可执行的npm的依赖都可以用直接引用,也就是不需要写成如下: "scripts

3.1K40

编写自己的 TypeScript CLI

TL;DR 您可以轻松编写 CLI,它比你想象的要简单; 我们一起编写 CLI 以生成 Lighthouse 性能报告; 你将看到如何配置 TypeScript、EsLint 和 Prettier; 你会看到如何使用一些很优秀的库...然后我们项目根目录下执行 /bin 目录: $ node bin # Hello from my-script 配置 ESLint 首先我们需要在项目中安装 ESLint。...src/index.ts 中使用它,并尝试使用 draw() 记录一些内容以查看结果。...“Run Lighthouse” 步骤中,我们运行 dx-script Lighthouse CLI,替换特殊字符以打印多行输出,并将输出设置一个变量 lighthouse_report 中。...让我们来看看我们已经涵盖的所有内容: 配置 TypeScript; 配置 ESLint; 配置 Prettier; 本地执行您的命令; 用着色日志 chalk; 定义你的命令 commander; spawning

2.4K30

一波webpack

2.接下来理解几个基本概念: Entry:入口,webpack执行构建的第一步将从Entry开始 output 属性告诉 webpack 在哪里输出它所创建的 bundles Module:模块 webpack...4.了解更多的配置 一些loader的详细配置介绍 一些pliugin的详细配置介绍 ---- 4.webpack一些常用的命令 webpack 最基本的启动webpack命令 webpack -w 提供...watch方法,实时进行打包更新 webpack -p 对打包后的文件进行压缩 webpack -d 提供SourceMaps,方便调试 webpack --colors 输出结果带彩色,比如:会用红色显示耗时较长的步骤...; 输出资源:根据入口和模块之间的依赖关系,组装成一个个包含多个模块的 Chunk,再把每个 Chunk 转换成一个单独的文件加入到输出列表,这步是可以修改输出内容的最后机会; 输出完成:确定好输出内容后...webpack有良好的生态链和维护团队,能提供良好的开发体验并保证质量。

77240

说一说前端代码检查

,为了便于后期维护和阅读,我们编写的代码也需要符合一定的格式规范; 保证线上代码质量:版本管理中,我们需要在提交或发布之前自动执行一些代码检查工作,确保我们的代码符合最终版本要求。...、支持ES6和JSX,另外输出也更加友好。...安装之后,可以执行eslint --init来生成一个默认的配置文件.eslintrc 注意:如果ESlint使用到了相关插件和共享配置文件,也必须安装在本地。...关闭warning输出 eslint --quiet file.js // 指定报告输出文件 eslint --output-file ....如果使用Git,那么Git Hook会是一个非常好的选择,可以定义执行commit、push等操作的时候执行一些lint检查,如果存在error则禁止代码提交或上传。

1.1K30

【技术圈】ESLint v7.0.0 将会有哪些新功能?

ESLint 类替代 CLIEngine 类 从 ESLint 的早期开始,我们提供了一个 CLIEngine 类,允许开发人员创建 ESLint一些扩展,例如编辑器插件、构建工具插件等等。...最重要的是,因为CLIEngine 类是同步工作的,所以 ESLint 的核心中不可能执行任何类型的异步操作。... v7.0.0之前,您需要提供 --ext 命令行标志以指定要添加到 lint 的其他文件。.../* 更严格的 RuleTester 将 RuleTester 类添加一些额外的检查,以确保规则的正常工作: 如果规则使用非标准 node.start 或 node.end 属性,则失败,ESLint...自动修复程序规则必须测试其修复程序的输出。 现在测试代码存在语法错误的地方将失败。 如果测试规范包含未知属性,则测试失败。

1.5K30

eslint 写一个插件

是一种代码静态分析工具,它可以帮你找到代码中可能存在的错误与 bug,也能找出代码风格的问题,不过因为只是静态分析,对 js 这种动态类型的语言所能做的就比较有限了,毕竟在 js 中,变量的类型如果不执行就不容易知道...安装 安装 eslint 本身只需要安装 eslint 本身就够了,而且 eslint 自带一些规则,不安装任何插件就做到基本的检查,但一般还是需要安装一些插件。...使用 虽然安装很简单,但不对 eslint 进行配置是什么都不能做的,所以还要提供一个基本的配置,而 eslint 提供一个简单的初始化命令,通过执行这个命令并回答几个问题,eslint 就会产生一个基本的配置...ecmaVersion: 2015, }, } ) // 如果有错误的话就打印出来 if (res.length) { console.log(res) } 不出意外的话应该会看到有内容输出...通常”,其实这个插件你只要在 , 后面加上注解就会出现问题了 eslint 会在最后一次把修复加上去,然后再跑一次所有规则,如果还是有可以修复的问题就再跑一次,直到没有可以自动修复的问题为止,所以也不用担心会破坏其他插件所提供的规则

80630
领券