更新:您现在可以在 GitHub 上找到此插件
许多 NativeScript 开发人员以前是混合应用开发人员。我们成长于 Web,认为 PhoneGap/Cordova 是将我们的集体脚趾浸入移动领域的最佳方式,并在 NativeScript 出现时看到了光明 🌞。
这也意味着我们正在维护旧版混合应用,或者希望开始迁移路径 从 Cordova 到 NativeScript。
提示:如果您是视频学习者,请查看 NativeScripting 上的这个免费课程 将 Cordova 应用程序升级到 NativeScript
幸运的是,此迁移通常比我们预期的要容易得多。为什么?因为 NativeScript 已经支持相同的语言(JavaScript、TypeScript)、框架(Angular、Vue.js)和样式功能(CSS、Sass、LESS),我们已经在使用了。
当迁移 UI 层和我们之前必须用来访问本地设备功能的自定义 Cordova 插件时,会遇到更繁重的任务 🏋️。
但当然,我们为您提供了解决方案 😀!有大量的 文档 和 教程 可供您学习如何创建真正的原生跨平台 UI 层。还有一个广泛的 插件市场 供您发现等效的插件。
如果您找不到合适的 Cordova 插件,或者 NativeScript 版本的 API 对您来说差别太大,该怎么办?
引入 cordova-nativescript-plugin
,这是一个即将发布的插件,它允许您在 NativeScript 应用程序中使用任何现有的 Cordova 插件。该插件目前处于 Alpha 阶段(目前仅支持 Android,iOS 正在开发中),将成为那些希望从 Cordova 迁移的用户之间的另一座桥梁。
让我们来看一个使用此插件和 Cordova 图片选择器 插件以及一个简单的 NativeScript 应用程序的真实场景。
您可以参考 GitHub 上的此存储库。
同样,截至本文撰写之时,此插件仍处于早期 Alpha 阶段。是的,iOS 开发正在进行中!
该 插件 本身包含用于运行 Cordova 插件的全部本地文件以及 before-prepare
钩子。此钩子负责查找 NativeScript 项目中的所有 Cordova 插件,并将其转换为 NativeScript 插件。
该 演示应用程序 在其 package.json
文件中同时引用了 cordova-nativescript-plugin
和 cordova-plugin-telerik-imagepicker
Cordova 插件
"dependencies": {
"cordova-nativescript-plugin": "file:..\\cordova-nativescript-plugin",
"cordova-plugin-telerik-imagepicker": "2.1.10",
...
在完成此简短的设置后,我们需要执行一些操作才能在 NativeScript 视图中实际运行 Image Picker 插件
1) 引用 cordova-nativescript-plugin
require("cordova-nativescript-plugin");
2) 引用 cordova-plugin-telerik-imagepicker
Cordova 插件
const imagePicker = cordova.require("com.synconset.imagepicker.ImagePicker").imagePicker;
提示:
cordova.require
内部的字符串是插件的 ID -com.synconset.ImagePicker
- 以及插件plugin.xml
文件 中导出的 js 模块的名称。
3) 使用以下命令执行 ImagePicker 插件
imagePicker.getPictures(successCallback, failCallback);
您可以通过在终端中运行这些命令来自己尝试此确切的示例
git clone https://github.com/NativeScript/nativescript-cordova-imagepicker-showcase
cd nativescript-cordova-imagepicker-showcase
cd demo
tns run android
我是否提到过这是插件的早期 Alpha 版本!?🤔
显然,对 iOS 的支持至关重要,这将使 NativeScript 的“跨平台”部分重新发挥作用。我们还希望让您更容易require
Cordova 插件。但请继续关注,因为我们将分享更多关于 Cordova 开发人员这一激动人心的新机会的信息!