我在节点上使用EJS作为我的视图引擎并表达设置。我想使用ejs-lint帮助获取错误行。我以前没有使用过linter,而是通过阅读这里的文档:https://github.com/RyanZim/EJS-Lint 我假设您可以在命令行中检查指定文件上的错误,如下所示:ejslint
我的假设是对的,我做错了什么?我已经使用npm install ejs-lint --save-dev
另外,如果我计划将ESlint添加到我的项目中,我猜我可以将其与EJSlint一起使用吗?
答案 0 :(得分:3)
直接从终端运行:
./node_modules/.bin/ejslint src/templates/some-template.ejs
// package.json
{
...
"scripts": {
"lint:ejs": "ejslint src/templates/some-template.ejs"
}
}
// terminal
npm run lint:ejs
ESLint和EJSlint是不同的独家流程。 EJLint不应分析ESLint分析的内容,反之亦然。安装两者都不会导致任何问题。
对于我测试的内容,您必须在每个文件中使用ejs linter CLI。这不如eslint
有用,可以处理多个文件,排除等。
如果您有一些src/templates
目录,可以通过执行以下操作来填充所有EJS文件:
find src/templates -type f -iname '*.ejs' -exec bash -c "./node_modules/.bin/ejslint '{}'" \;
哪种适用于Unix而不适用于Windows。您可以使用ejslint API准备一些节点脚本来跨系统。
还有一个grunt plugin。
如果你想同时拥有ESLint和EJSLint,你应该有不同的npm脚本,例如:
// package.json
{
...
"scripts": {
"lint": "npm run lint:js && npm run lint:ejs",
"lint:js": "eslint src --ignore-path src/templates",
"lint:ejs": "find src/templates -type f -iname '*.ejs' -exec bash -c \"./node_modules/.bin/ejslint '{}'\" \\;"
}
}
如果您正在使用grunt,则可以为eslint和ejslint创建不同的任务,然后create a group task:
grunt.registerTask('lint', ['eslint', 'ejslint']);
答案 1 :(得分:1)
实际上,以下方法是最简单的,也是迄今为止最快的执行时间。它还具有更好的错误记录功能,因为它不会通过find命令。
ejslint $(find ./ -type f -iname '*.ejs')
答案 2 :(得分:0)
它们不是在 cmd 上使用 ejslint 的明确说明。尝试使用编辑器中的调试自己调试代码行,因为它说它与代码中的语法错误有关。为我工作。
哦,好消息是你仍然可以运行 ESlint 来调试你的 Js 文件。
答案 3 :(得分:0)
您可以从项目根目录中的命令行运行 npx ejslint **/*.ejs
以检查项目中的所有 ejs 文件。
需要 npx
是因为您使用了 --save-dev
(或 -D
),如果您使用了 --global
(或 -g
),那么您可以直接调用 ejs lint使用 ejslint **/*.ejs
**/*.ejs
将选择任何文件夹中以 .ejs
结尾的任何文件。