首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用TIMING=1 eslint来测量Windows中的规则性能

如何使用TIMING=1 eslint来测量Windows中的规则性能
EN

Stack Overflow用户
提问于 2022-04-18 06:35:20
回答 4查看 1.2K关注 0票数 1

在ESLint 官方网站中,有一个叫做Per-rule Performance的段落。

它说

“设置TIMING环境变量将触发10条运行时间最长的规则的显示,以及它们各自的运行时间和相对性能影响(占整个规则处理时间的百分比)”。

代码语言:javascript
复制
$ TIMING=1 eslint lib
Rule                    | Time (ms) | Relative
:-----------------------|----------:|--------:
no-multi-spaces         |    52.472 |     6.1%
camelcase               |    48.684 |     5.7%
no-irregular-whitespace |    43.847 |     5.1%
valid-jsdoc             |    40.346 |     4.7%
handle-callback-err     |    39.153 |     4.6%
space-infix-ops         |    35.444 |     4.1%
no-undefined            |    25.693 |     3.0%
no-shadow               |    22.759 |     2.7%
no-empty-class          |    21.976 |     2.6%
semi                    |    19.359 |     2.3%

但是,当我添加

代码语言:javascript
复制
"lint-js": "TIMING=1 eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"

"scripts"中的package.json中,并使用

代码语言:javascript
复制
npm run lint-js

在我的Windows OS里,我得到

代码语言:javascript
复制
'TIMING' is not recognized as an internal or external command,
operable program or batch file.

如何在Windows中用TIMING=1运行eslint

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-06-25 21:37:17

经过研究,我找到了一个解决跨平台问题的简单方法。

代码语言:javascript
复制
"lint-js": "export TIMING=1 || set TIMING=1&& eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"

垂直条形图是必需的,否则Windows将崩溃在不被识别的export上。

参考链接:https://stackoverflow.com/a/36373133/13230147

票数 1
EN

Stack Overflow用户

发布于 2022-04-18 18:38:58

您有两个选项:使用设置命令或使用一个外部工具,比如交叉-env:

使用set (仅适用于Windows)

代码语言:javascript
复制
"lint-js": "set TIMING=1 && eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"

使用交叉env

安装时:

代码语言:javascript
复制
npm install -D cross-env

然后将脚本命令更改为:

代码语言:javascript
复制
"lint-js": "cross-env TIMING=1 eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"
票数 2
EN

Stack Overflow用户

发布于 2022-04-18 07:33:02

在Windows环境中,应该使用set命令设置变量。

从命令行尝试以下操作:

代码语言:javascript
复制
set TIMING=1
npx eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71908341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档