更新 4:
最新的 Web Essentials 2013 1.9 具有“更好地忽略 lint runner 的逻辑”,所有问题都被清除了。您现在可以打开“在构建时运行”。它具有通用 js 库和缩小 js 的默认忽略规则。以下excludeFiles
配置仍然有效,但不再需要。
更新 3:
从https://github.com/madskristensen/WebEssentials2013/issues/603交叉我的帖子。
如果你不需要 JSHint 和 JSCS 的功能,只需进入“工具 - 选项 - Web Essentials - JavaScript”,将“Run on build”和“Run on save”设置为 False。
如果您想使用它们,请将“Run on build”设置为 False,将“Run on save”设置为 True。在预览、打开和保存时,所有的 js 都将是 JSHint 和 JSCS。通过此更改,您可以成功构建而不会减慢速度。错误列表只会填充当前打开的 js 的 JSHint 和 JSCS 项。
默认情况下,JSHint 不会在所有缩小的和一些常见的 js 库上运行,但 JSCS 将始终运行。在使用 JSCS 时,它可能会使用缩小的 js 延迟大约几秒钟。如果您不想等待,请转到“Web Essentials - 编辑全局 JSCS 设置”。改变
"excludeFiles": ["test/data/*.js"],
进入
"excludeFiles": ["**/*.min.js", "**/*.debug.js", "**/*.intellisense.js", "**/*-vsdoc.js"],
仅在缩小的 js 上跳过 JSCS。或更改为
"excludeFiles": ["**"],
要完全停止 JSCS,只需要保持 JSHint 运行。
当然,您可以编写自己的规则来排除不需要的规则。只需将双星放在开头,使用'/'而不是'\',其他部分只需使用单星作为通配符。喜欢"**/Scripts/*.js"
。
使用排除规则,它仍然会为每个 js 生成一个 xml 信息项,稍后会修复(希望如此),但最后您可以开始编码。
最后,您可以升级到 1.8.5,但它只会停止“Run on build”的运行。“保存时运行”仍然需要这些设置。所以它不会改变我在这里所说的。
希望这些信息是正确且有用的,当前版本为 1.8 和 1.8.5。
更新1:
安装新版本 1.8.5。它将停止“在构建时运行”功能。这意味着即使您打开它,它也不会在构建时运行。但是“在保存时运行”仍然会在预览、打开和保存时实际运行。excludeFiles 的正确相对模式是**/Script/**
.
所以缩小 js 的推荐排除规则将是:
"excludeFiles": ["**/Scripts/**.min.js", "**/Scripts/**.debug.js", "**/Scripts/**.intellisense.js", "**/Scripts/**-vsdoc.js"],
或者只是**/Script/**
用来排除它们。
根据.min 文件和其他文件上的 JSHint/JSCS 错误,该<?xml
问题将在下一个版本中得到解决?. 所以这个模式应该是最后一个正确的模式,有一个问题应该并且将会在下一个 Web Essentials 版本中得到解决。或者也许下一个我们会提供一个很好的默认 excludeFiles 规则。
更新 2:
一个更好的:
"excludeFiles": ["**/*.min.js", "**/*.debug.js", "**/*.intellisense.js", "**/*-vsdoc.js"],
排除所有缩小的 js,无论它在哪里。
我发现的简单方法是转到“工具 - 选项 - Web Essentials - JavaScript”,将 Run on Build/Save 设置为 False。
另一种方法是转到“Web Essentials - 编辑全局 JSCS 设置”,设置 excludeFiles。
但是多个 excludeFiles 是错误的语法。应该使用 ["a", "b"] 语法。
并且应该使用绝对路径,(在全局设置时?)与路径分隔符'/','\'是不允许的。
子目录没有用,你应该指定每一个路径。
所以像这样的有效设置:
"excludeFiles": ["C:/Solution/Project/Scripts/*", "C:/Solution/Project/Scripts/kendo/*"]
但是这种方式会为每个 js 文件生成另一个构建错误:
JSCS parse error: <?xml version="1.0" encoding="utf-8"?>
<checkstyle version="4.3">
</checkstyle>
每个 js 文件的信息项:
<?xml version="1.0" encoding="utf-8"?>
<checkstyle version="4.3">
</checkstyle>
我不知道如何避免它。所以也许最好的方法只是第一种简单的方法。