служба vue-cli игнорирует ошибки типа typescript в каталоге

#typescript #vue.js #vue-cli

#typescript #vue.js #vue-cli

Вопрос:

Как я могу настроить инструмент vue-cli, чтобы не запускать проверки типов в определенной папке?

  • Я запустил новое приложение с https://cli.vuejs.org
  • Я сгенерировал каталог API jQuery / TypeScript через codegen: src/api/
  • Я проигнорировал в файле tslint "src/api/**/*.ts",

Попробуйте выполнить сборку, но инструмент cli также проверяет наличие ошибок типа.

Вывод serve:

 vue-cli-service serve

 INFO  Starting development server...
Starting type checking and linting service...
Using 1 worker with 2048MB memory limit
 98% after emitting CopyPlugin                                                    

 DONE  Compiled successfully in 2701ms                                                                     3:50:28 PM

Type checking and linting in progress...

  App running at:
  - Local:   http://localhost:8080/ 
  - Network: http://192.168.1.32:8080/

  Note that the development build is not optimized.
  To create a production build, run npm run build.

ERROR in /home/me/code/g2/frontend/fe_main/src/api/ms-authentication/api/AuthenticationApi.ts
25:12 Type 'null' is not assignable to type 'JQueryAjaxSettings | undefined'.
    23 |     protected basePath = 'http://localhost';
    24 |     public defaultHeaders: Array<string> = [];
  > 25 |     public defaultExtraJQueryAjaxSettings?: JQueryAjaxSettings = null;
       |            ^
    26 |     public configuration: Configuration = new Configuration();
    27 | 
    28 |     constructor(basePath?: string, configuration?: Configuration, defaultExtraJQueryAjaxSettings?: JQueryAjaxSettings) {
ERROR in /home/me/code/g2/frontend/fe_main/src/api/ms-authentication/api/PasswordApi.ts
25:12 Type 'null' is not assignable to type 'JQueryAjaxSettings | undefined'.
    23 |     protected basePath = 'http://localhost';
    24 |     public defaultHeaders: Array<string> = [];
  > 25 |     public defaultExtraJQueryAjaxSettings?: JQueryAjaxSettings = null;
       |            ^
    26 |     public configuration: Configuration = new Configuration();
    27 | 
    28 |     constructor(basePath?: string, configuration?: Configuration, defaultExtraJQueryAjaxSettings?: JQueryAjaxSettings) {

  

Но я не могу изменить этот код без изменения шаблонов codegen. :/

Комментарии:

1. Как указал htn, это ошибки сборки в TypeScript 2.0 (или более поздней версии), где strictNullChecks была введена опция компилятора. Если вам нужно включить этот код, вы можете отключить strictNullChecks in tsconfig.json , чтобы обойти ошибку сборки, но вы потеряете строгую проверку в своем собственном коде.

Ответ №1:

Вам следует либо изменить сгенерированный код, либо отключить strictNullChecks опцию компилятора typescript.