如何在cli

时间:2018-01-07 18:35:09

标签: ejs eslint

我在节点上使用EJS作为我的视图引擎并表达设置。我想使用ejs-lint帮助获取错误行。我以前没有使用过linter,而是通过阅读这里的文档:https://github.com/RyanZim/EJS-Lint 我假设您可以在命令行中检查指定文件上的错误,如下所示:ejslint

我的假设是对的,我做错了什么?我已经使用npm install ejs-lint --save-dev

安装了

另外,如果我计划将ESlint添加到我的项目中,我猜我可以将其与EJSlint一起使用吗?

4 个答案:

答案 0 :(得分:3)

简短回答

直接从终端运行:

./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是不同的独家流程。 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 结尾的任何文件。