nativeScript-ngx-fusion-library
NativeScript + Angular Cedrus Fusion 库组件
npm i --save nativescript-ngx-fusion-library

开发 NativeScript 插件 构建状态

此存储库基于 @NathanWalker插件种子 构建而成。感谢 Nathan!

TL;DR

NativeScript 插件种子是为 NativeScript 插件开发者构建的,可作为起点使用。要启动您的插件开发,请执行以下操作

  1. git clone https://github.com/NativeScript/nativescript-plugin-seed nativescript-yourplugin 其中 nativescript--yourplugin 是您插件的名称。
  2. cd nativescript-yourplugin/src
  3. npm run postclone
  4. npm run demo.iosnpm run demo.android 以运行演示。
  5. 在另一个命令提示符/终端中 npm run plugin.tscwatch 以监视插件中的 TypeScript 变更并自动将其应用于演示。

详细说明

什么是 NativeScript 插件种子?

NativeScript 插件种子是为 NativeScript 插件开发者构建的,可作为起点使用。它扩展了以下内容 在这里展示。种子提供了哪些功能?

  • 插件结构,具有易于开发和调试的选项(请参阅以下 开发设置部分
  • 一个简单的可工作插件
  • 一个与插件一起工作的演示项目。它在开发和通过 Travis CI 运行测试时非常有用。
  • 插件测试
  • 有关如何构建将发布到 NPM 的插件 README 文件的指南
  • 用于创建您的插件包的 shell 脚本
  • 适当的 .gitignore 以保持 GitHub 有序
  • 适当的 .npmignore 以确保您将插件发布到 NPM 时每个人都满意。

Plugin seed demo

插件文件夹结构

文件夹/文件名称 描述
demo 插件演示源代码
demo/tests 您插件的测试
src 插件源代码
src/platform/android 插件 Android 特定配置
src/platform/ios 插件 ios 特定配置
src/README 您的插件 README 模板,解释其他开发者如何在其应用程序中使用您的插件。当您将插件发布到 NPM 时使用。在 postclone 步骤中,根目录中的 README 被替换为此模板。
src/scripts 当您执行 npm run postclone 时运行的 postclone 脚本。您可以在从 入门部分 执行 postclone 步骤后删除它。
publish 包含用于创建和发布您的包的 shell 脚本。有关创建包和发布的更多信息,请参阅 发布到 NPM 部分

入门

  1. 打开命令提示符/终端并执行 git clone https://github.com/NativeScript/nativescript-plugin-seed nativescript-yourplugin 将插件模板仓库克隆到 nativescript-yourplugin 文件夹中,其中 nativescript-yourplugin 是您的插件名称。
  2. 打开命令提示符/终端并导航到 nativescript-yourplugin/src 文件夹,使用 cd nativescript-yourplugin/src
  3. 执行 npm run postclone
    • 配置您的 GitHub 用户名 - 它将为您在 package.json 中更改
    • 配置您的插件名称 - 模板中的所有文件和类都将为您重命名
    • 创建插件 README.md 文件的占位符
    • 为您创建一个新的插件仓库
    • 使用 npm link your plugin 将您的插件链接到演示应用 - 这将安装插件依赖并将在演示项目中添加插件代码的符号链接,允许您在演示中修改并预览更改,而无需每次修改时添加/删除插件。 了解更多关于 npm link 的信息。如果您遇到 "EACCES" 权限拒绝错误,请修复您的全局 npm 权限,这已经在 这里 解释得非常清楚。

现在您可以使用下面的 开发环境搭建 继续您的插件开发。

开发环境搭建

为了便于开发和调试,请继续以下步骤

  1. 打开命令提示符/终端,导航到 src 文件夹并运行 npm run demo.iosnpm run demo.android 以运行演示。
  2. 打开另一个命令提示符/终端,导航到 src 文件夹并运行 npm run plugin.tscwatch 以监视插件中的文件更改。

现在您可以修改您的插件。更改将自动应用到演示项目中。

注意:如果您需要在插件中使用本地库或在 Info.plist/AndroidManifest.xml 中进行一些更改,这些更改只能通过 npm link 应用于演示项目。在这种情况下,您需要从 demo 中使用 tns plugin add ../src 以将本地库和上述文件的更改应用到演示。然后,您可以从 src 中再次使用 npm run plugin.link 链接您的插件代码。

链接到 CocoaPod 或 Android Arsenal 插件

为了使用本地 API,您需要在 src 文件夹中创建以下文件夹和文件:

platforms --
ios --
Podfile
android --
include.gradle

这样做将为您的插件打开这些本地 API :)

请参考以下现有插件了解如何简单地实现这一点:

清理插件和演示文件

有时您可能需要删除 node_modulesdemo/platforms 文件夹并重新安装它们。

  1. 运行 npm run clean 删除它们,然后您可以运行 npm i 重新安装依赖。

单元测试

插件模板自动为您的插件添加基于 Jasmine 的单元测试支持。打开 demo/app/tests/tests.js 并调整其内容,以便测试在您插件的上下文中变得有意义。

您可以在此处了解更多关于此主题的信息 here

一旦您准备好测试插件的 API,请转到 src 文件夹并执行以下命令之一

npm run test.ios
npm run test.android

发布到 NPM

当您准备好发布时

  • src/package.json 中增加版本号
  • 转到 publish 并执行 publish.sh(如果文件不可执行,请运行 chmod +x *.sh

如果您只想创建一个包,请转到 publish 文件夹并执行 pack.sh。包将创建在 publish/package 文件夹中。

注意:要在 Windows 上运行 bash 脚本,您可以安装 GIT SCM 并使用 Git Bash。

TravisCI

插件结构附带了一个功能齐全的 .travis.yml 文件,该文件可以在 Android 模拟器和 iOS 模拟器上部署测试应用,并在 单元测试部分 中运行测试。在克隆仓库并实现您的插件和测试后,您只需在 https://travis-ci.org/ 上注册即可。然后,在 "https://travis-ci.org/profile/" 上启用您的插件仓库,这样就完成了。下次有人提交 PR 或在分支上提交更改时,TravisCI 将触发构建以测试代码。

为了正确显示当前构建状态,您需要编辑 README.md 文件开头的徽章,使其与您的仓库、用户和分支匹配。