首页 > 解决方案 > eslint 正在检查 node_modules Ionic Vue 项目

问题描述

我在 Ionic5 Vue3 中有一个项目,每次我尝试为生产构建它时,我都会不断收到 node_modules 中的包的 lint 错误,这导致构建失败。eslint如果我在 ionic vue 项目中使用最新版本并且仅在构建期间使用,这似乎会发生。该ionic serve命令运行得很好。

然而,当我只使用 vue 而不是 ionic 的完全相同的包时,它也会为生产而构建(我也包含了package.json该项目的包)。这是我的ionic info输出:

Ionic:

   Ionic CLI       : 6.16.3 (/Users/nirpan/.nvm/versions/node/v15.11.0/lib/node_modules/@ionic/cli)
   Ionic Framework : @ionic/vue 5.6.13

Capacitor:

   Capacitor CLI      : 3.1.2
   @capacitor/android : not installed
   @capacitor/core    : 3.1.2
   @capacitor/ios     : 3.1.2

Utility:

   cordova-res : not installed globally
   native-run  : 1.4.0

System:

   NodeJS : v15.11.0 (/Users/nirpan/.nvm/versions/node/v15.11.0/bin/node)
   npm    : 7.6.0
   OS     : macOS Big Sur

我创建了一个示例 repo 来重现下面链接的问题:

https://github.com/nirajhinge/vue-cli-service-es-lint-node_modules/tree/main

这是ionic build.

» ionic capacitor build ios --verbose
  ionic:lib Terminal info: { ci: false, shell: '/usr/local/bin/fish', tty: true, windows: false } +0ms
  ionic:lib CLI global options: { _: [ 'capacitor', 'build', 'ios' ], help: null, h: null, verbose: true, quiet: null, interactive: true, color: true, confirm: null, json: null, project: null, '--': [] } +3ms
  ionic:lib:project Project type from config: @ionic/vue (vue) +0ms
  ionic:lib:project Project details: { context: 'app', type: 'vue', errors: [], configPath: '/Users/nirpan/code/sandbox/eslint/ionic.config.json' } +0ms
  ionic Context: { binPath: '/Users/nirpan/.nvm/versions/node/v15.11.0/lib/node_modules/@ionic/cli/bin/ionic', libPath: '/Users/nirpan/.nvm/versions/node/v15.11.0/lib/node_modules/@ionic/cli', execPath: '/Users/nirpan/code/sandbox/eslint', version: '6.16.3' } +0ms
  ionic:lib:integrations:capacitor Getting config with Capacitor CLI: [ 'config', '--json' ] +0ms
  ionic:lib:integrations:capacitor Loaded Capacitor config! +422ms
  ionic:lib:build build options: {
  ionic:lib:build   '--': [],
  ionic:lib:build   engine: 'capacitor',
  ionic:lib:build   platform: 'ios',
  ionic:lib:build   project: undefined,
  ionic:lib:build   verbose: true,
  ionic:lib:build   type: 'vue'
  ionic:lib:build } +0ms
  ionic:lib:telemetry Sending telemetry for command: 'ionic capacitor build' [ 'ios', '--verbose', '--interactive', '--color' ] +0ms
  ionic:lib:hooks Looking for ionic:build:before npm script. +0ms
  ionic:lib:build Looking for ionic:build npm script. +5ms
> vue-cli-service build
  vue:plugins [
  vue:plugins   {
  vue:plugins     id: 'built-in:commands/serve',
  vue:plugins     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins   },
  vue:plugins   {
  vue:plugins     id: 'built-in:commands/build',
  vue:plugins     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins   },
  vue:plugins   {
  vue:plugins     id: 'built-in:commands/inspect',
  vue:plugins     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins   },
  vue:plugins   { id: 'built-in:commands/help', apply: [Function (anonymous)] },
  vue:plugins   { id: 'built-in:config/base', apply: [Function (anonymous)] },
  vue:plugins   { id: 'built-in:config/assets', apply: [Function (anonymous)] },
  vue:plugins   { id: 'built-in:config/css', apply: [Function (anonymous)] },
  vue:plugins   { id: 'built-in:config/prod', apply: [Function (anonymous)] },
  vue:plugins   { id: 'built-in:config/app', apply: [Function (anonymous)] },
  vue:plugins   { id: '@vue/cli-plugin-babel', apply: [Function (anonymous)] },
  vue:plugins   {
  vue:plugins     id: '@vue/cli-plugin-e2e-cypress',
  vue:plugins     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins   },
  vue:plugins   { id: '@vue/cli-plugin-eslint', apply: [Function (anonymous)] },
  vue:plugins   { id: '@vue/cli-plugin-router', apply: [Function (anonymous)] },
  vue:plugins   { id: '@vue/cli-plugin-typescript', apply: [Function (anonymous)] },
  vue:plugins   {
  vue:plugins     id: '@vue/cli-plugin-unit-jest',
  vue:plugins     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins   }
  vue:plugins ] +0ms
  vue:plugins-ordered [
  vue:plugins-ordered   {
  vue:plugins-ordered     id: 'built-in:commands/serve',
  vue:plugins-ordered     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins-ordered   },
  vue:plugins-ordered   {
  vue:plugins-ordered     id: 'built-in:commands/build',
  vue:plugins-ordered     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins-ordered   },
  vue:plugins-ordered   {
  vue:plugins-ordered     id: 'built-in:commands/inspect',
  vue:plugins-ordered     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins-ordered   },
  vue:plugins-ordered   { id: 'built-in:commands/help', apply: [Function (anonymous)] },
  vue:plugins-ordered   { id: 'built-in:config/base', apply: [Function (anonymous)] },
  vue:plugins-ordered   { id: 'built-in:config/assets', apply: [Function (anonymous)] },
  vue:plugins-ordered   { id: 'built-in:config/css', apply: [Function (anonymous)] },
  vue:plugins-ordered   { id: 'built-in:config/prod', apply: [Function (anonymous)] },
  vue:plugins-ordered   { id: 'built-in:config/app', apply: [Function (anonymous)] },
  vue:plugins-ordered   { id: '@vue/cli-plugin-babel', apply: [Function (anonymous)] },
  vue:plugins-ordered   {
  vue:plugins-ordered     id: '@vue/cli-plugin-e2e-cypress',
  vue:plugins-ordered     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins-ordered   },
  vue:plugins-ordered   { id: '@vue/cli-plugin-eslint', apply: [Function (anonymous)] },
  vue:plugins-ordered   { id: '@vue/cli-plugin-router', apply: [Function (anonymous)] },
  vue:plugins-ordered   { id: '@vue/cli-plugin-typescript', apply: [Function (anonymous)] },
  vue:plugins-ordered   {
  vue:plugins-ordered     id: '@vue/cli-plugin-unit-jest',
  vue:plugins-ordered     apply: [Function (anonymous)] { defaultModes: [Object] }
  vue:plugins-ordered   }
  vue:plugins-ordered ] +0ms
  vue:env /Users/nirpan/code/sandbox/eslint/.env.production.local {
  error: Error: ENOENT: no such file or directory, open '/Users/nirpan/code/sandbox/eslint/.env.production.local'
      at Object.openSync (node:fs:506:3)
      at Object.readFileSync (node:fs:402:35)
      at Object.config (/Users/nirpan/code/sandbox/eslint/node_modules/dotenv/lib/main.js:96:29)
      at load (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:111:28)
      at Service.loadEnv (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:122:5)
      at Service.init (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:70:12)
      at Service.run (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:245:16)
      at Object.<anonymous> (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/bin/vue-cli-service.js:37:9)
      at Module._compile (node:internal/modules/cjs/loader:1092:14)
      at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10) {
    errno: -2,
    syscall: 'open',
    code: 'ENOENT',
    path: '/Users/nirpan/code/sandbox/eslint/.env.production.local'
  }
} +0ms
  vue:env /Users/nirpan/code/sandbox/eslint/.env.production {
  error: Error: ENOENT: no such file or directory, open '/Users/nirpan/code/sandbox/eslint/.env.production'
      at Object.openSync (node:fs:506:3)
      at Object.readFileSync (node:fs:402:35)
      at Object.config (/Users/nirpan/code/sandbox/eslint/node_modules/dotenv/lib/main.js:96:29)
      at load (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:111:28)
      at Service.loadEnv (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:123:5)
      at Service.init (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:70:12)
      at Service.run (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:245:16)
      at Object.<anonymous> (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/bin/vue-cli-service.js:37:9)
      at Module._compile (node:internal/modules/cjs/loader:1092:14)
      at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10) {
    errno: -2,
    syscall: 'open',
    code: 'ENOENT',
    path: '/Users/nirpan/code/sandbox/eslint/.env.production'
  }
} +456ms
  vue:env /Users/nirpan/code/sandbox/eslint/.env.local {
  error: Error: ENOENT: no such file or directory, open '/Users/nirpan/code/sandbox/eslint/.env.local'
      at Object.openSync (node:fs:506:3)
      at Object.readFileSync (node:fs:402:35)
      at Object.config (/Users/nirpan/code/sandbox/eslint/node_modules/dotenv/lib/main.js:96:29)
      at load (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:111:28)
      at Service.loadEnv (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:122:5)
      at Service.init (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:73:10)
      at Service.run (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/Service.js:245:16)
      at Object.<anonymous> (/Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/bin/vue-cli-service.js:37:9)
      at Module._compile (node:internal/modules/cjs/loader:1092:14)
      at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10) {
    errno: -2,
    syscall: 'open',
    code: 'ENOENT',
    path: '/Users/nirpan/code/sandbox/eslint/.env.local'
  }
} +0ms
[dotenv][DEBUG] did not match key and value when parsing line 1:
  vue:env /Users/nirpan/code/sandbox/eslint/.env { parsed: {} } +1ms
  vue:project-config {
  vue:project-config   lintOnSave: false,
  vue:project-config   publicPath: '/',
  vue:project-config   outputDir: 'dist',
  vue:project-config   assetsDir: '',
  vue:project-config   indexPath: 'index.html',
  vue:project-config   filenameHashing: true,
  vue:project-config   runtimeCompiler: false,
  vue:project-config   transpileDependencies: false,
  vue:project-config   productionSourceMap: true,
  vue:project-config   parallel: true,
  vue:project-config   pages: undefined,
  vue:project-config   crossorigin: undefined,
  vue:project-config   integrity: false,
  vue:project-config   css: {},
  vue:project-config   devServer: {}
  vue:project-config } +0ms
  babel:config:loading:files:configuration Found configuration '/Users/nirpan/code/sandbox/eslint/babel.config.js' from '/Users/nirpan/code/sandbox/eslint'. +0ms
  babel:config:loading:files:plugins Loaded preset '@vue/cli-plugin-babel/preset' from '/Users/nirpan/code/sandbox/eslint'. +0ms
All browser targets in the browserslist configuration have supported ES module.
Therefore we don't build two separate bundles for differential loading.


⠙  Building for production...2021-08-06T06:16:04.645Z babel:config:loading:files:configuration Found configuration '/Users/nirpan/code/sandbox/eslint/babel.config.js' from '/Users/nirpan/code/sandbox/eslint'.
2021-08-06T06:16:04.691Z babel:config:loading:files:plugins Loaded preset '@vue/cli-plugin-babel/preset' from '/Users/nirpan/code/sandbox/eslint'.
⠹  Building for production...2021-08-06T06:16:04.893Z babel:config:loading:files:configuration Found configuration '/Users/nirpan/code/sandbox/eslint/babel.config.js' from '/Users/nirpan/code/sandbox/eslint'.
2021-08-06T06:16:04.921Z babel:config:loading:files:plugins Loaded preset '@vue/cli-plugin-babel/preset' from '/Users/nirpan/code/sandbox/eslint'.
⠦  Building for production...

 ERROR  Failed to compile with 11 errors                                                                                                              07:16:12

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts

TS1160: Unterminated template literal.

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:63

TS1110: Type expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                               ^^^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:281

TS1005: '}' expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                                                                                                                                                                                                                                                         ^^^^^^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:305

TS1128: Declaration or statement expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                                                                                                                                                                                                                                                                                 ^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:311

TS1005: ';' expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                                                                                                                                                                                                                                                                                       ^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:312

TS1005: ';' expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                                                                                                                                                                                                                                                                                        ^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:333

TS1128: Declaration or statement expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                                                                                                                                                                                                                                                                                                             ^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:335

TS1005: ';' expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                                                                                                                                                                                                                                                                                                               ^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:370

TS1128: Declaration or statement expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                                                                                                                                                                                                                                                                                                                                                  ^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:372

TS1005: ';' expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                                                                                                                                                                                                                                                                                                                                                    ^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 error  in node_modules/@vue/test-utils/dist/constants/dom-events.d.ts:30:379

TS1005: ';' expected.
    28 | export declare type KeyName = keyof typeof keyCodesByKeyName;
    29 | export declare type Modifier = typeof systemKeyModifiers[number] | typeof mouseKeyModifiers[number];
  > 30 | export declare type DomEventNameWithModifier = DomEventName | `${DomEventName}.${typeof systemKeyModifiers[number]}` | `click.${typeof mouseKeyModifiers[number]}` | `click.${typeof systemKeyModifiers[number]}.${typeof mouseKeyModifiers[number]}` | `${'keydown' | 'keyup'}.${keyof typeof keyCodesByKeyName}` | `${'keydown' | 'keyup'}.${typeof systemKeyModifiers[number]}.${keyof typeof keyCodesByKeyName}`;
       |                                                                                                                                                                                                                                                                                                                                                                                           ^^^^^^
    31 | declare const domEvents: {
    32 |     readonly abort: {
    33 |         readonly eventInterface: "Event";

 ERROR  Error: Build failed with errors.
Error: Build failed with errors.
    at /Users/nirpan/code/sandbox/eslint/node_modules/@vue/cli-service/lib/commands/build/index.js:207:23
    at /Users/nirpan/code/sandbox/eslint/node_modules/webpack/lib/webpack.js:141:8
    at /Users/nirpan/code/sandbox/eslint/node_modules/webpack/lib/HookWebpackError.js:68:3
    at Hook.eval [as callAsync] (eval at create (/Users/nirpan/code/sandbox/eslint/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/nirpan/code/sandbox/eslint/node_modules/webpack/node_modules/tapable/lib/Hook.js:18:14)
    at Cache.shutdown (/Users/nirpan/code/sandbox/eslint/node_modules/webpack/lib/Cache.js:150:23)
    at /Users/nirpan/code/sandbox/eslint/node_modules/webpack/lib/Compiler.js:1140:15
    at Hook.eval [as callAsync] (eval at create (/Users/nirpan/code/sandbox/eslint/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/nirpan/code/sandbox/eslint/node_modules/webpack/node_modules/tapable/lib/Hook.js:18:14)
    at Compiler.close (/Users/nirpan/code/sandbox/eslint/node_modules/webpack/lib/Compiler.js:1133:23)
[ERROR] An error occurred while running subprocess vue-cli-service.

        vue-cli-service build exited with exit code 1.

        Re-running this command with the --verbose flag may provide more
        information.
  ionic:utils-process onBeforeExit handler: 'process.exit' received +0ms
  ionic:utils-process onBeforeExit handler: running 1 functions +0ms
  ionic:utils-process processExit: exiting (exit code: 1) +37ms

当我在离子/电容器之外测试它时,这里package.json也包含离子项目中的所有相关包:

{
  "name": "vue-hello-world",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "core-js": "^3.6.5",
    "register-service-worker": "^1.7.1",
    "vue": "^3.0.0-0",
    "vue-router": "^4.0.0-0",
    "vue-class-component": "^7.2.3",
    "vue-property-decorator": "^9.1.2"
  },
  "devDependencies": {
    "@vue/cli-plugin-pwa": "5.0.0-beta.2",
    "@typescript-eslint/eslint-plugin": "^4.26.0",
    "@typescript-eslint/parser": "^4.26.0",
    "@vue/cli-plugin-babel": "5.0.0-beta.2",
    "@vue/cli-plugin-e2e-cypress": "5.0.0-beta.2",
    "@vue/cli-plugin-eslint": "5.0.0-beta.2",
    "@vue/cli-plugin-router": "5.0.0-beta.2",
    "@vue/cli-plugin-typescript": "5.0.0-beta.2",
    "@vue/cli-plugin-unit-jest": "5.0.0-beta.2",
    "@vue/cli-service": "5.0.0-beta.2",
    "@vue/eslint-config-typescript": "^7.0.0",
    "eslint": "^7.32.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-prettier": "^3.4.0",
    "eslint-plugin-vue": "^7.0.0-0",
    "prettier": "^2.2.1",
    "typescript": "~4.1.5",
    "vue-template-compiler": "^2.6.11"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended",
      "@vue/typescript/recommended",
      "prettier"
    ],
    "plugins": [
      "prettier"
    ],
    "parserOptions": {
      "ecmaVersion": 2020
    },
    "rules": {
      "vue/no-deprecated-slot-attribute": "off",
      "@typescript-eslint/no-explicit-any": "off"
    },
    "overrides": [
      {
        "files": [
          "**/__tests__/*.{j,t}s?(x)",
          "**/tests/unit/**/*.spec.{j,t}s?(x)"
        ],
        "env": {
          "jest": true
        }
      }
    ]
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ]
}

我曾尝试在类似问题上应用一些建议的解决方案,并在此处应用另一个解决方案,但由于某种原因,构建命令仍会尝试对 node_modules 文件进行 lint。很高兴知道是什么导致了这个问题以及什么可以解决这个问题。谢谢。

标签: vue.jsionic-frameworkeslintvue-clieslintrc

解决方案


推荐阅读