简体   繁体   English

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

[英]error getting eslint to work with eslint-plugin-vue

I'm not a front-end dev but am trying to lint my javascript / Vue.js file in a Rails 5.1 app.我不是前端开发人员,但我正在尝试在 Rails 5.1 应用程序中整理我的 javascript/Vue.js 文件。 I'm not that familiar with the node ecosystem.我对节点生态系统不太熟悉。 I get the following error and wanted to know where to start to fix this:我收到以下错误,想知道从哪里开始解决这个问题:

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$ 

My .eslint.js file is:我的 .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'
  }
};

and my package.json is:我的 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"
  }
}

Where do I start looking to debug this?我从哪里开始寻找调试这个? This ecosystem is still very opaque to me.这个生态系统对我来说仍然非常不透明。


On a comment's request, I ran npm install and verified that the plugin appears to be in ./node_modules/ :根据评论的要求,我运行npm install并验证该插件似乎在./node_modules/

“eslint-plugin-vue”位于 node_modules 文件夹中

But I'm still getting the same error.但我仍然遇到同样的错误。 Any other ideas?还有其他想法吗?

You need to set the eslint working directories in .vscode/settings.json as following您需要在.vscode/settings.json eslint 工作目录如下

{
  "eslint.workingDirectories": [
    "./client",
  ]
}

Here, ./client path is relative to where you initiated your visual studio code ie where your project root is在这里,./ ./client路径是相对于您启动 Visual Studio 代码的位置,即您的项目根目录所在的位置

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM