- 版本:0.1.3
- GitHub:
- NPM: https://npmjs.net.cn/package/nativescript-ngx-fusion-icon
- 下载量
- 昨天: 0
- 上周: 0
- 上个月: 0
开发 NativeScript 插件 
此存储库基于 @NathanWalker 的 插件种子。感谢 Nathan!
TL;DR
NativeScript 插件种子是为 NativeScript 插件开发者作为起点构建的。要启动插件开发,请执行以下命令
git clone https://github.com/NativeScript/nativescript-plugin-seed nativescript-yourplugin
其中nativescript-yourplugin
是您插件的名称。cd nativescript-yourplugin/src
npm run postclone
npm run demo.ios
或npm run demo.android
来运行示例。- 在另一个命令提示符/终端中
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 时每个人都满意。
插件文件夹结构
文件夹/文件名 | 描述 |
---|---|
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) 部分 |
入门指南
- 打开命令提示符/终端,并执行
git clone https://github.com/NativeScript/nativescript-plugin-seed nativescript-yourplugin
将插件种子存储库克隆到nativescript-yourplugin
文件夹中,其中nativescript--yourplugin
是您插件的名称。 - 打开命令提示符/终端,并使用
cd nativescript-yourplugin/src
命令导航到nativescript-yourplugin/src
文件夹。 - 执行
npm run postclone
进行以下操作:- 配置您的GitHub用户名 - 它将自动更改package.json中的用户名
- 配置您的插件名称 - 种子中的所有文件和类都将为您重命名
- 为您的插件README.md文件创建占位符
- 为您的插件创建一个新的仓库
- 使用
npm link
将您的插件链接到演示应用程序 - 这将安装插件依赖项,并将插件代码的符号链接添加到演示项目中,允许您在不添加/删除插件的情况下在演示中进行更改和审查。了解更多关于npm link的信息。如果您遇到“EACCES”权限拒绝错误,请修复您全局npm权限,这已在此处进行了详细解释。
现在,您可以使用以下开发设置继续您的插件开发。
开发设置
为了更方便地进行开发和调试,请继续以下步骤
- 打开命令提示符/终端,导航到
src
文件夹,并运行npm run demo.ios
或npm run demo.android
来运行演示。 - 在另一个命令提示符/终端中,导航到
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_modules
和demo/platforms
文件夹,以重新安装它们。
- 运行
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 文件开头的徽章,使其与您的存储库、用户和分支匹配。