无法读取 angular2 nativescript 中未定义的 属性 getPackageManager

Cannot read property getPackageManager of undefined in angular2 nativescript

我提到了这个 nativescript-appList Plugin。我收到此运行时错误 Cannot read 属性 getPackageManager of undefined.

我是 运行 angular2-nativescript 构造函数中的以下代码

import * as AppList from "nativescript-applist";

 // inside the constructor

 console.log("First", "Test");

    AppList.getInstalledApps(function(apps) {

        console.log("Second", "Test");

        }, {
            withIcons: true
        });

在命令提示符下我看不到这个日志 console.log("Second", "Test"); .我只能看到这个日志 console.log("First", "Test");

该插件似乎与 Angular 项目不兼容,但有一个简单的修复方法可以使其正常工作。为此,您需要直接修改插件的源代码。克隆 repo 并应用下面的更改,然后 npm pack 生成新修改的 tgz 文件或安装插件并直接修改 node_modules/nativescript-applist/Apps.android.js 中的代码(这是这不是一个好方法,因为当您删除 node_modules 文件夹时,所有更改都将被删除)

要使插件在 Angular 中工作,请执行以下操作 - 打开 node_modules/nativescript-applist/Apps.android.js - 在方法中移动前两个延迟加载的属性

例如之前

var androidApp = app.android;
var androidAppCtx = androidApp.context;

function getInstalledListOfApps(callback, cfg) {
    // more code follows here

之后

function getInstalledListOfApps(callback, cfg) {
    var androidApp = app.android;
    var androidAppCtx = androidApp.context;

    // more code follows here

一切顺利!