首页 > 解决方案 > 在 ng build 后运行 ng serve 时出现错误

问题描述

我正在开发我的第一个 Angular 应用程序,我正在本地机器上设置一个现有的 Angular 应用程序。
运行时出现以下错误ng serve

src/app/common-componets/directives/dropFile/drop-file.directive.ts(47,21) 中的错误:错误 TS2345:“字符串 | 类型的参数” ArrayBuffer' 不可分配给“字符串”类型的参数。类型“ArrayBuffer”不可分配给类型“字符串”。src/app/common-componets/input-image/input-image.component.ts(58,13): 错误 TS2322: 类型 'string | ArrayBuffer' 不可分配给类型 'string'。类型“ArrayBuffer”不可分配给类型“字符串”。src/app/dashboard/dashboard/components/new-community/new-community.component.ts(248,15): error TS2322: Type '{ area: string; 卡雷拉:字符串;名称:任何;publicado:布尔值;简历:字符串;url照片:任意;过滤器:空;urlVideo:任意;键:字符串;uid:字符串;活跃社区:假;位置社区:假;... 还有9个……;位置:号码;}' 不可分配给类型 'IComunidad'。类型'{ area: string; 中缺少属性'briefingTags' 卡雷拉:字符串;名称:任何;publicado:布尔值;简历:字符串;url照片:任意;过滤器:空;urlVideo:任意;键:字符串;uid:字符串;活跃社区:假;位置社区:假;... 9 更多 ...; 位置:号码;}'。src/app/modals/upload-users-csv/upload-users-csv.component.ts(34,11):错误 TS2322:类型 'string | ArrayBuffer' 不可分配给类型 'string'。类型“ArrayBuffer”不可分配给类型“字符串”。细绳; url照片:任意;过滤器:空;urlVideo:任意;键:字符串;uid:字符串;活跃社区:假;位置社区:假;... 9 更多 ...; 位置:号码;}'。src/app/modals/upload-users-csv/upload-users-csv.component.ts(34,11):错误 TS2322:类型 'string | ArrayBuffer' 不可分配给类型 'string'。类型“ArrayBuffer”不可分配给类型“字符串”。细绳; url照片:任意;过滤器:空;urlVideo:任意;键:字符串;uid:字符串;活跃社区:假;位置社区:假;... 9 更多 ...; 位置:号码;}'。src/app/modals/upload-users-csv/upload-users-csv.component.ts(34,11):错误 TS2322:类型 'string | ArrayBuffer' 不可分配给类型 'string'。类型“ArrayBuffer”不可分配给类型“字符串”。

npm v 6.4.1 
Angular CLI: 7.3.5  
Node: 10.15.3  
OS: linux x64  
Angular: 6.1.10  
... animations, common, compiler, core, forms, http
... language-service, platform-browser, platform-browser-dynamic
... platform-server, router    

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.8.4
@angular-devkit/build-angular      0.13.4
@angular-devkit/build-ng-packagr   0.8.4
@angular-devkit/build-optimizer    0.13.4
@angular-devkit/build-webpack      0.13.4
@angular-devkit/core               0.8.4
@angular-devkit/schematics         7.3.5
@angular/cdk                       6.4.7
@angular/cli                       7.3.5
@angular/compiler-cli              7.2.12
@angular/fire                      5.1.0
@angular/flex-layout               7.0.0-beta.24
@angular/material                  6.4.7
@ngtools/json-schema               1.1.0
@ngtools/webpack                   7.3.4
@schematics/angular                7.3.5
@schematics/update                 0.13.5
ng-packagr                         4.7.1
rxjs                               6.2.1
typescript                         3.1.6
webpack                            4.29.0

有谁知道,如何解决?

标签: angularnpmangular-clinpm-install

解决方案


'string | 类型的参数 ArrayBuffer' 不可分配给“字符串”类型的参数

意味着你需要一个 if 围绕你的作业

if (typeof val === 'string') {
  otherVal = val;
}

这样编译器就知道你有一个字符串而不是 ArrayBuffer


推荐阅读