无法读取 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
一切顺利!
我提到了这个 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
一切顺利!