如何将离子原生导入Ionic1 / AngularJS项目?



我正在用Ionic v1和AngularJS和Cordova做一个项目。

我正在尝试将这个 firebase 插件包含在我的项目中,但到目前为止没有运气:https://github.com/dpa99c/cordova-plugin-firebasex

我被告知要尝试这个节点模块:https://github.com/ionic-team/ionic-native#angularjs

但是,我不断收到此错误:

错误: [$injector:nomod] 模块 'ionic.native' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

<script src="../node_modules/@ionic-native/core/ionic-native-plugin.js"></script>

如何在我的项目中完成这项工作,以及如何正确导入离子天然?

实际上,我在我的 angularJS 项目中使用 ionic-native 5.23.0,我相信所有 5.x 版本都支持这个 angular 版本。如果你看一下ionic-native/core,你会发现存在一个名为ng1的文件。该文件有一个名为 initAngular1 的函数,它遍历对象的属性,创建 angularJS 服务。这就是我所做的。

首先,我打开了脚本,该
  1. 脚本用作 webpack.config 中的入口点以创建一个捆绑包(因为我已经安装了 webpack,所以我使用了(
  2. 在此脚本中,我编写了以下内容:
require('@ionic-native/core');
const appVersion = require('@ionic-native/app-version');
const sqlite = require('@ionic-native/sqlite');
const statusbar = require('@ionic-native/status-bar');
const toast = require('@ionic-native/toast');
const ng1 = require('@ionic-native/core/ng1')
ng1.initAngular1({ 
AppVersion: appVersion.AppVersion,
SQLite: sqlite.SQLite,
Statusbar: statusbar.StatusBar,
Toast: toast.Toast
});
  1. 运行 webpack
  2. 在您的应用程序中注入ionic.native模块。
  3. 注入任何您想使用带有$cordova前缀的插件。
angular.module('myApp', ['ionic.native'])
.controller('MyPageController', function($cordovaToast) {
$cordovaToast.show('Hello from Ionic Native', '5000', 'center');
});

不要忘记安装ionic原生插件使用的Cordova插件。

离子原生停止了对角离子v1/angular 1的支持,

https://github.com/ionic-team/ionic-native/tree/v3.x

对于 Ionic V1/Angular 1 支持,请使用 Ionic Native 版本 2。有关使用信息,请参阅 2.x 自述文件>。

最新更新