如何在Ionic 4中导入第三方库(npm软件包)?

时间:2019-02-28 19:38:49

标签: node.js angular typescript ionic-framework ionic4

由于在Ionic 4中发生了一些更改,我想了解有关如何实现第三方库(例如“ rss-parser”)的definit指南。

我确实读过这篇文章,因为它实际上是该主题的最新文章: https://ionicframework.com/docs/v3/developer-resources/third-party-libs/

但没有帮助。

这是我到目前为止所做的:

npm install --save rss-parser

比我几乎尝试的一切:

  • 引用我的index.html中的rss-parser.min.js,
  • 使用declare moduledeclare var的品种
  • 尝试使用标准的import {} from 'rss-parser',因为Ionic 4使用es2015/Typescript或更高版本

这是我的app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';

import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';

// Services
import { DataService } from './data-service.service';
//import { InAppBrowser } from '@ionic-native/in-app-browser';

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule/*, InAppBrowser */ ],
  providers: [
    DataService,
    StatusBar,
    SplashScreen,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

这是我的tab1.page.ts

import { Component } from '@angular/core';
import { DataService } from '../data-service.service'
import { Parser } from 'rss-parser/lib/parser.js';

@Component({
  selector: 'app-tab1',
  templateUrl: 'tab1.page.html',
  styleUrls: ['tab1.page.scss']
})
export class Tab1Page {

  constructor( private dataService: DataService )
    {
    console.log( "Parser: ", Parser );
    }

现在我有几个问题:

例如,我搜索了需要rss-parser/index.js的{​​{1}},然后得到了./lib/parser。我认为,那就是我们要看的地方要导入什么?

所以我使用了以下代码:

class Parser {}

并且它给我以下错误消息:

import { Parser }  from 'rss-parser/dist/rss-parser.js';
declare var Parser: any;

console.log( "Parser: ", Parser );

对此有任何帮助吗?关于如何在Ionic 4中导入第三方npm,也许是逐步的指导,根据互联网的说法,这将帮助很多人。

编辑: 显然不是Convert XML RSS feed to Json on Angular app的可能副本,因为我想知道如何将第三方节点程序包实现到Ionic 4中。

1 个答案:

答案 0 :(得分:0)

该软件包对ionic4也有问题

(正如我在解释https://github.com/bobby-brennan/rss-parser/issues/109时所说的那样)

我还没有找到解决方法,看来rss-parser软件包与新的ECMAScript模块不兼容。

benji7425在这里说

https://github.com/bobby-brennan/rss-parser/issues/98

在此处有tofra github测试项目

https://github.com/tofra/angular-rss-parser/issues/1

对于脚本标签,您可以将其放在所有其他脚本标签之后的index.html文件中:)