我使用EJS作为我在节点和快速设置上的视图引擎。我想使用ejs-lint来帮助获取错误行。我以前没有使用过linter,但通过阅读这里的文档:https://github.com/RyanZim/EJS-Lint,我假设您可以在命令行中检查指定文件上的错误,如下所示:
我的假设是正确的吗?我做错了什么?我已经使用npm install ejs-lint --save-dev
安装了
此外,如果我计划将ESlint添加到我的项目中,我猜我可以让它与EJSlint一起工作?
发布于 2018-01-10 17:14:38
简短的回答
直接从终端运行:
./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文件:
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']);
发布于 2018-10-14 00:18:33
实际上,下面的方法是最简单也是最快的执行时间。它也有更好的错误日志记录,因为它不通过find命令。
ejslint $(find ./ -type f -iname '*.ejs')
发布于 2021-02-20 02:23:02
在cmd上没有明确的使用ejslint的说明。尝试在编辑器中使用debug自己调试代码行,因为它显示代码中存在语法错误。对我很有效!
好消息是,你仍然可以运行ESlint来调试你的Js文件。
https://stackoverflow.com/questions/48140310
复制相似问题