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

tim*_*one 6 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$ 
Run Code Online (Sandbox Code Playgroud)

我的 .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'
  }
};
Run Code Online (Sandbox Code Playgroud)

我的 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"
  }
}
Run Code Online (Sandbox Code Playgroud)

我从哪里开始寻找调试这个?这个生态系统对我来说仍然非常不透明。


根据评论的要求,我运行npm install并验证该插件似乎在./node_modules/

“eslint-plugin-vue”在 node_modules 文件夹中

但我仍然遇到同样的错误。还有其他想法吗?

Aya*_*yan 4

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

{
  "eslint.workingDirectories": [
    "./client",
  ]
}
Run Code Online (Sandbox Code Playgroud)

在这里,./client路径是相对于您启动 Visual Studio 代码的位置,即项目根目录所在的位置

在此输入图像描述