vue.js - 构建时无法在eslintrc.js中加载插件Vue

标签 vue.js

Dockerfile运行RUN npm run build,后者运行vue-cli-service build。一段时间后,我从.eslintrc.js收到一个错误:

无法加载在'.eslintrc.js'中声明的插件'vue':createRequire不是一个函数。由于此问题,构建无法完成。

如果我手动运行npm run build,则不会发生此问题。为什么会出现此问题,如何解决?
.eslintrc.js:

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: ['plugin:vue/essential', '@vue/airbnb', '@vue/prettier'],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'consistent-return': 0,
    'import/extensions': 0,
    'import/no-extraneous-dependencies': 0,
    'no-param-reassign': 0,
    'no-alert': 0,
    'no-unused-expressions': 0,
    'no-shadow': 0,
    'no-return-assign': 0
  },
  plugins: ['prettier'],
  parserOptions: {
    parser: 'babel-eslint'
  }
};

package.json:
{
  "name": "web",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "start": "vue-cli-service serve"
  },
  "dependencies": {
    "axios": "^0.19.2",
    "core-js": "^3.6.5",
    "date-fns": "^2.14.0",
    "humps": "^2.0.1",
    "izitoast": "^1.4.0",
    "lamejs": "^1.2.0",
    "pug-plain-loader": "^1.0.0",
    "register-service-worker": "^1.7.1",
    "sass": "^1.26.5",
    "sass-loader": "^8.0.2",
    "vue": "^2.6.11",
    "vue-resource": "^1.5.1",
    "vue-router": "^3.2.0",
    "vuex": "^3.4.0",
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^4.3.1",
    "@vue/cli-plugin-eslint": "^4.3.1",
    "@vue/cli-plugin-pwa": "^4.3.1",
    "@vue/cli-service": "^4.3.1",
    "@vue/eslint-config-airbnb": "^5.0.2",
    "@vue/eslint-config-prettier": "^6.0.0",
    "babel-eslint": "^10.1.0",
    "compression-webpack-plugin": "^4.0.0",
    "eslint": "^7.0.0",
    "eslint-plugin-prettier": "^3.1.3",
    "eslint-plugin-vue": "^6.2.2",
    "expose-loader": "^0.7.5",
    "material-design-icons-iconfont": "^5.0.1",
    "node-sass": "^4.14.1",
    "vue-cli-plugin-vuetify": "^2.0.5",
    "vue-template-compiler": "^2.6.11",
    "vuetify-loader": "^1.4.3",
    "webpack-bundle-analyzer": "^3.8.0"
  }
}

最佳答案

您是否在运行npm run install之前先运行npm run build来安装所有依赖项?
如果是的话,也许您需要在.eslintrc文件中添加一些代码: "parser": "vue-eslint-parser",最后,您可能还需要添加一个名为“prettier”的npm-package才能起作用。

关于vue.js - 构建时无法在eslintrc.js中加载插件Vue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62224754/

相关文章:

node.js - 如何使用 webpack 和 vue-cli 将服务器端变量发送到 vue 实例?

vue.js - Vuejs 使用整数数组填充选择元素

javascript - 导入 javascript 文件以在 vue 组件中使用

javascript - 将 vuejs 组件注册拆分到不同的文件

typescript - 如何正确使用 Vuex 和 TypeScript?

javascript - 我的链式 POST 和 GET axios 调用变慢是很自然的吗?

javascript - vue-router 总是创建一个新的组件实例

javascript - Vue实例中手动监听鼠标事件

vue.js - 如何让 Vue Router Guards 等待 Vuex?

javascript - Vuejs 中使用静态 JSON 进行动态路由