如何在Windows操作系统中使用TIMING=1 eslint测量规则性能

问题描述 投票:0回答:5

在ESLint官网,有一段话,叫做

Per-rule Performance

它指出

“设置

TIMING
环境变量将在 linting 完成后触发显示十个运行时间最长的规则,以及它们各自的运行时间和占总规则处理时间百分比的相对性能影响”。

$ 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%

但是,当我添加

"lint-js": "TIMING=1 eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"

"scripts"
中的
package.json
并使用

运行它
npm run lint-js

在我的

Windows OS
中,我明白

'TIMING' is not recognized as an internal or external command,
operable program or batch file.

如何在Windows操作系统中使用

TIMING=1
运行
eslint

javascript windows npm eslint package.json
5个回答
3
投票

在 Windows 中,应使用

set
命令设置环境变量。

从命令行尝试以下操作:

set TIMING=1
npx eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata

3
投票

您有两个选择:使用 set 命令或使用外部工具(如 cross-env):

使用设置(仅限 Windows)

"lint-js": "set TIMING=1 && eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"

使用跨环境

安装:

npm install -D cross-env

然后将脚本命令更改为:

"lint-js": "cross-env TIMING=1 eslint --ext .js,.jsx,.ts,.tsx src/js --cache --cache-strategy metadata"

2
投票

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

"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


0
投票

我在使用 Windows 时遇到了同样的问题,我的工作团队使用 Mac,你可以尝试使用 https://www.npmjs.com/package/cross-env,这对我有用。

"lint": "cross-env TIMING=1 next lint",

0
投票

在cmd中使用

set TIMING=1
或在powershell中使用
$env:TIMING=1

© www.soinside.com 2019 - 2024. All rights reserved.