简答
直接从终端运行:
./node_modules/.bin/ejslint src/templates/some-template.ejs
或者npm script:
// package.json
{
...
"scripts": {
"lint:ejs": "ejslint src/templates/some-template.ejs"
}
}
// terminal
npm run lint:ejs
ESLint 和 EJSlint 是不同的专有进程。 ESLint 分析的内容不应由 EJSLint 分析,反之亦然。两者都安装不会导致任何问题。
扩展答案
对于我测试的内容,您必须对每个文件使用 ejs linter CLI。这不如eslint 有用,后者可以处理多个文件、排除项等。
如果您有一些 src/templates 目录,您可以通过执行以下操作对所有 EJS 文件进行 lint:
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']);