javascript - 让 eslint 与 eslint-plugin-vue 一起工作时出错

标签 javascript npm eslint

我不是前端开发人员,但我试图在 Rails 5.1 应用程序中检查我的 javascript/Vue.js 文件。我对节点生态系统不是很熟悉。我收到以下错误,想知道从哪里开始解决这个问题:

Tue Apr 17$ eslint javascript/ --ext .vue
Cannot find module 'eslint-plugin-vue'
Referenced from: /Users/jt/repos/embers2/.eslintrc.js
Error: Cannot find module 'eslint-plugin-vue'
Referenced from: /Users/jt/repos/embers2/.eslintrc.js
    at ModuleResolver.resolve (/usr/local/lib/node_modules/eslint-config-airbnb-standard/node_modules/eslint/lib/util/module-resolver.js:74:19)
    at resolve (/usr/local/lib/node_modules/eslint-config-airbnb-standard/node_modules/eslint/lib/config/config-file.js:466:29)
    at load (/usr/local/lib/node_modules/eslint-config-airbnb-standard/node_modules/eslint/lib/config/config-file.js:542:26)
    at configExtends.reduceRight (/usr/local/lib/node_modules/eslint-config-airbnb-standard/node_modules/eslint/lib/config/config-file.js:421:36)
    at Array.reduceRight (<anonymous>)
    at applyExtends (/usr/local/lib/node_modules/eslint-config-airbnb-standard/node_modules/eslint/lib/config/config-file.js:403:28)
    at loadFromDisk (/usr/local/lib/node_modules/eslint-config-airbnb-standard/node_modules/eslint/lib/config/config-file.js:514:22)
    at Object.load (/usr/local/lib/node_modules/eslint-config-airbnb-standard/node_modules/eslint/lib/config/config-file.js:550:20)
    at Config.getLocalConfigHierarchy (/usr/local/lib/node_modules/eslint-config-airbnb-standard/node_modules/eslint/lib/config.js:228:44)
    at Config.getConfigHierarchy (/usr/local/lib/node_modules/eslint-config-airbnb-standard/node_modules/eslint/lib/config.js:180:43)
Tue Apr 17$ 
我的 .eslint.js 文件是:
module.exports = {
  extends: [
    // add more generic rulesets here, such as:
    // 'eslint:recommended',
    'plugin:vue/essential',
    'airbnb-base'

  ],
  rules: {
    // override/add rules settings here, such as:
    // 'vue/no-unused-vars': 'error'
  }
};
我的 package.json 是:
{
  "dependencies": {
    "@rails/webpacker": "^3.4.3",
    "axios": "^0.17.1",
    "coffeescript": "1.12.7",
    "octicons": "^6.0.1",
    "postcss-smart-import": "^0.7.6",
    "solc": "^0.4.19",
    "vue": "^2.5.16",
    "vue-awesome": "^2.3.4",
    "vue-cookie": "^1.1.4",
    "vue-loader": "^14.2.2",
    "vue-moment": "^3.2.0",
    "vue-octicon": "^2.1.1",
    "vue-progressbar": "^0.7.3",
    "vue-router": "^2.7.0",
    "vue-template-compiler": "^2.5.16",
    "vue2-google-maps": "^0.8.10",
    "vuex": "^3.0.1"
  },
  "devDependencies": {
    "eslint": "^4.19.1",
    "eslint-config-airbnb-base": "^12.1.0",
    "eslint-plugin-import": "^2.11.0",
    "eslint-plugin-vue": "^4.4.0",
    "extract-text-webpack-plugin": "^3.0.2",
    "vue-masonry-css": "^1.0.1",
    "webpack-cli": "^2.0.13",
    "webpack-dev-server": "2.11.1"
  }
}
我从哪里开始寻找调试呢?这个生态系统对我来说仍然非常不透明。

应评论请求,我运行了 npm install并验证该插件似乎位于 ./node_modules/ :
"eslint-plugin-vue" is in the node_modules folder
但我仍然遇到同样的错误。还有其他想法吗?

最佳答案

您需要在 .vscode/settings.json 中设置 eslint 工作目录如下

{
  "eslint.workingDirectories": [
    "./client",
  ]
}
在这里,./client路径相对于您启动 Visual Studio 代码的位置,即项目根目录的位置
enter image description here

关于javascript - 让 eslint 与 eslint-plugin-vue 一起工作时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49889042/

相关文章:

reactjs - 如何创建可跨多个 React 项目使用的私有(private)共享组件库

node.js - PhoneGap安装: npm command not found

javascript - 如何使用 Unicode 编码的 java 脚本创建文本文件?

javascript - 为 Node.js 和 Angular 只创建一次模型?

javascript - 如何将这些函数合并为具有属性的单个函数?

JavaScript/JQuery : use $(this) in a variable-name

node.js - 在 nodejs 中使用 node-sass 时找不到 libsass 绑定(bind)

javascript - 关闭特定行的 eslint 规则

javascript - javascript中异步延迟初始化的规范安全方法是什么?

vue.js - Eslint 状态已经声明 [Vuex]