我在节点上使用 EJS 作为我的视图引擎并进行快速设置。我想使用 ejs-lint 来帮助获取错误行。我以前没有使用过 linter,但是通过阅读这里的文档:https : //github.com/RyanZim/EJS-Lint 我假设您可以像这样在命令行中检查指定文件上的错误:ejslint
我的假设是否正确,我做错了什么?我已经安装使用npm install ejs-lint --save-dev
另外,如果我打算将 ESlint 添加到我的项目中,我猜我可以让它与 EJSlint 一起工作吗?
直接从终端运行它:
./node_modules/.bin/ejslint src/templates/some-template.ejs
Run Code Online (Sandbox Code Playgroud)
或者使用npm 脚本:
// package.json
{
...
"scripts": {
"lint:ejs": "ejslint src/templates/some-template.ejs"
}
}
// terminal
npm run lint:ejs
Run Code Online (Sandbox Code Playgroud)
ESLint 和 EJSlint 是不同的、专有的进程。ESLint 分析的内容不应由 EJSLint 分析,反之亦然。两者都安装不会导致任何问题。
对于我测试过的内容,您必须对每个文件使用 ejs linter CLI。这不如eslint可以处理多个文件、排除等有用。
如果您有某个src/templates目录,则可以通过执行以下操作来 lint 所有 EJS 文件:
find src/templates -type f -iname '*.ejs' -exec bash -c "./node_modules/.bin/ejslint '{}'" \;
Run Code Online (Sandbox Code Playgroud)
这适用于 Unix 但不适用于 Windows。您可以准备一些节点脚本以使用 ejslint API 跨系统执行此操作。
还有一个grunt 插件。
如果你想同时拥有 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 '{}'\" \\;"
}
}
Run Code Online (Sandbox Code Playgroud)
如果你使用 grunt,你可以为 eslint 和 ejslint 创建不同的任务,然后创建一个组任务:
grunt.registerTask('lint', ['eslint', 'ejslint']);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8714 次 |
| 最近记录: |