nativescript-ngx-fusion-icon
NativeScript + Angular Cedrus Fusion 图标组件
npm i --save nativescript-ngx-fusion-icon

开发 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 插件开发者作为起点构建的。它基于此处展示的几个方面进行了扩展。[在这里](http://developer.telerik.com/featured/creating-nativescript-plugins-in-typescript/)。种子为您提供了什么?

  • 具有可选开发调试功能的插件结构(请参阅下面的[开发设置](#Developmentsetup)部分)
  • 一个简单的可工作插件
  • 与插件一起工作的示例项目。在开发期间以及通过 Travis CI 运行测试时很有用。
  • 插件测试
  • 如何结构化您的插件 README 文件,该文件将发布到 NPM 的指南
  • 创建您的插件包的 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 在您从[入门指南](#Gettingstarted)部分执行 postclone 步骤时运行的 postclone 脚本。您可以在执行了 postclone 步骤后删除它。
publish 包含创建和发布您的包的 shell 脚本。有关创建包和发布的更多信息,请参阅[发布到 NPM](#Publishtonpm) 部分

入门指南

  1. 打开命令提示符/终端,并执行 git clone https://github.com/NativeScript/nativescript-plugin-seed nativescript-yourplugin 将插件种子存储库克隆到 nativescript-yourplugin 文件夹中,其中 nativescript--yourplugin 是您插件的名称。
  2. 打开命令提示符/终端,并使用cd nativescript-yourplugin/src命令导航到nativescript-yourplugin/src文件夹。
  3. 执行npm run postclone进行以下操作:
    • 配置您的GitHub用户名 - 它将自动更改package.json中的用户名
    • 配置您的插件名称 - 种子中的所有文件和类都将为您重命名
    • 为您的插件README.md文件创建占位符
    • 为您的插件创建一个新的仓库
    • 使用npm link将您的插件链接到演示应用程序 - 这将安装插件依赖项,并将插件代码的符号链接添加到演示项目中,允许您在不添加/删除插件的情况下在演示中进行更改和审查。了解更多关于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并调整其内容,以便测试在插件及其功能的上下文中具有意义。

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

一旦您准备好测试插件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/<您的 GitHub 用户>" 上启用您的插件存储库,这样就完成了。下次有人提交 PR 或向分支提交更改时,TravisCI 将触发构建以测试代码。

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