PapaParseService'不是由node_modules / ngx-papaparse / dist / index.js导出的

时间:2018-12-18 04:49:16

标签: angular papaparse

我正在使用Angular 4,并且想使用ngx-papaparse解析一些csv

我跑了

yarn add -D ngx-papaparse@1.2.5

将其导入了我的app.module

import { PapaParseModule } from "ngx-papaparse";
  imports: [
  BrowserModule,
  BrowserAnimationsModule,
  FormsModule,
  HttpClientModule,
  PapaParseModule,
  RouterModule.forRoot(AppRoutes),
  ],

并在解析器中编写了以下代码

import { Injectable } from "@angular/core";
    import { PapaParseService } from "ngx-papaparse";

    @Injectable()

    export class ParserService {
      constructor(private papa: PapaParseService) {
        //
      }

      public getData(data) {
        const options = {
          complete: (results, file) => {
            console.log("Parsed: ", results, file);
          },
          // Add your options here
        };

        this.papa.parse(data, options);
      }
    }

但是我在编译时总是遇到这个问题

[!] Error: 'PapaParseService' is not exported by node_modules/ngx-papaparse/dist/index.js

奇怪的是我的Stackblitz应用程序接受ngx-papaparse@3.0.2并没有在此问题中运行,而尝试安装3.0.2会给我以下信息:

Error: Metadata version mismatch for module /usr/local/apache2/htdocs/node_modules/ngx-papaparse/ngx-papaparse.d.ts, found version 4, expected 3

2 个答案:

答案 0 :(得分:0)

在您的parser-service.ts文件导入中

  

从“ ngx-papaparse”导入{Papa};

然后在构造函数中

constructor(private papa: Papa) {}

其余的代码很好,在进行了这些更改之后,它将可以正常工作。

答案 1 :(得分:0)

我遇到了同样的问题,但我设法解决了。

Angular 版本和 ngx-papaparse 版本必须对齐。 要根据您的 Angular 版本找到要使用的 ngx-papaparse 的正确版本,请参考以下网址:https://alberthaff.dk/projects/ngx-papaparse/docs/v4/introduction