gpt4 book ai didi

node.js - NPM 脚本包含括号语法错误

转载 作者:搜寻专家 更新时间:2023-10-31 23:15:27 25 4
gpt4 key购买 nike

我的 package.json 中有以下 NPM 脚本:

{
"scripts": {
"lint": "tslint -c tslint.json src/**/**?(.test).ts?(x)"
}
}

在我运行 npm run lint 之后,我收到以下错误:

> tslint -c tslint.json src/**/**?(.test).ts?(x)

sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `tslint -c tslint.json src/**/**?(.test).ts?(x)'

似乎我不能在我的 NPM 脚本中使用字符 (。我该如何解决这个问题?该脚本是一个有效的 bash 脚本。

我尝试搜索问题,但找不到任何有用的信息。

感谢任何帮助。

非常感谢!

更新:

似乎在我的终端(macOS)中运行这个命令是这样的:

bash -c "tslint -c tslint.json src/**/**?(.test).ts?(x)"

我得到了完全相同的错误。

但是如果我这样运行它:

bash -c "tslint -c tslint.json src/**/**?\(.test\).ts?\(x\)"

它似乎在终端中工作。但不是在 NPM 脚本中。

让它像这样工作:

{
"scripts": {
"lint": "bash -c \"tslint -c tslint.json 'src/**/**?(.test).ts?(x)'\"",
}
}

或更简单的版本

{
"scripts": {
"lint": "tslint -c tslint.json 'src/**/**?(.test).ts?(x)'",
}
}

鸣谢@shellter。

最佳答案

我曾经写过这个脚本来对我的 javascript 文件进行基本语法检查:

#!/usr/bin/env bash
if [ -x "$(command -v parallel)" ]; then
find src/js -name "*.js" | parallel --no-notice --jobs 4 --gnu nodejs -c
else
find src/js -name "*.js" | xargs -L1 -d '\n' nodejs -c
fi

这将检查 src/js 中的每个 javascript 文件,并在可用时使用并行。如果您的 CPU 有更多线程,您可能需要增加作业参数以匹配您的线程数。

希望对你有所帮助

关于node.js - NPM 脚本包含括号语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47870796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com