@akylas/nativescript-cli
构建 NativeScript 项目的命令行界面
npm i --save @akylas/nativescript-cli


Nativescript Logo

NativeScript 命令行界面

NativeScript CLI 允许您创建、构建和部署 NativeScript 应用。


nativescript -> npm

使用以下命令获取: npm install -g nativescript

什么是 NativeScript

NativeScript 直接将平台 API 提供给 JavaScript 运行时(具有强类型),为丰富的 TypeScript 开发体验提供支持。

一些常用用例

  • 使用共享代码库(即,跨平台应用)构建 Web、iOS、Android 和 Vision Pro 应用
  • 使用可移植的 JavaScript 技能构建原生平台应用
  • 通过平台 API 功能增强 JavaScript 项目
  • AndroidTV 和手表开发
  • watchOS 开发
  • 通过 JavaScript 理解学习原生平台
  • 通过尝试 API 直接从网络浏览器 探索平台 API 文档,无需设置平台开发机。

要了解更多关于 NativeScript 的信息,您可以查看以下资源

返回顶部

NativeScript CLI 的工作原理

NativeScript CLI 是与 NativeScript 交互的命令行界面。它集成了几个重要服务。请考虑以下图示

NativeScript CLI diagram

  • 命令 - 几乎每个 CLI 都做的是 - 支持不同的命令选项、输入验证和帮助
  • 设备服务 - 提供NativeScript与用于运行/调试应用的设备/模拟器/仿真器之间的通信。使用iTunes与iOS通信,使用adb与Android通信
  • LiveSync 服务 - 在开发过程中代码更改时重新部署应用程序
  • 钩子服务 - 执行开发中的应用中自定义编写的钩子,从而修改构建过程
  • 平台服务 - 提供应用程序构建功能,使用 Gradle 构建Android包,使用 Xcode 构建 iOS。

返回顶部

支持的平台

使用 NativeScript CLI,您可以针对以下移动平台。

  • Android 4.2 或更高版本的稳定官方版本
  • iOS 9.0 或更高版本的稳定官方版本

返回顶部

系统要求

您可以在 Windows、macOS 或 Linux 上安装和运行 NativeScript CLI。

安装

安装 NativeScript CLI

NativeScript CLI 可作为 npm 包进行安装。

在命令提示符中,运行以下命令。

操作系统 从 https://node.org.cn/ 安装 Node.js 通过软件包管理器安装 Node.js
Windows npm install nativescript -g npm install nativescript -g
macOS sudo npm install nativescript -g --unsafe-perm npm install nativescript -g
Linux sudo npm install nativescript -g --unsafe-perm npm install nativescript -g

要检查您的系统是否配置正确,请运行以下命令。

ns doctor

配置代理设置

如果您在 Web 代理后面使用 NativeScript CLI,您需要配置您的代理设置。

设置代理设置

ns proxy set <Url> <Username> <Password>

属性

<Url> (必需) 代理的完整 URL。<Url> 属性是必需的,如果您在运行命令时未提供它,NativeScript CLI 将提示您提供它。一个有效的代理 URL 示例是 http://127.0.0.1:8888
<Username><Password> (可选) 代理的凭证。<Username> 和 <Password> 属性是可选的,但如果您选择提供它们,则必须同时提供。

选项

--insecure--insecure 标志允许您执行不安全的 SSL 连接和传输。当您的代理没有 CA 证书或证书不再有效时,此选项非常有用。

限制

显示当前代理设置

ns proxy

清除代理设置

ns proxy clear

返回顶部

快速入门

命令

运行 ns help 在浏览器中查看所有可用的命令。运行 ns help <Command> 在浏览器中查看有关选定命令的更多信息。 ns --help 打开控制台帮助,其中帮助信息显示在控制台中。

返回顶部

创建项目

要使用默认 JavaScript 模板创建新的跨平台项目,请运行以下命令。

ns create MyApp --js

要使用默认 TypeScript、Angular 或 Vue 模板创建新的跨平台项目,请使用 template 选项后跟 typescriptangularvue

ns create MyApp --template typescript
ns create MyApp --template angular
ns create MyApp --template vue

或者,您也可以简单地使用 tscng 选项。

ns create MyApp --tsc
ns create MyApp --ng

使用 template 选项,您还可以指定模板的本地或远程路径,您希望使用它来创建项目。例如,如果您想创建 React 模板,请运行以下命令。

ns create MyApp --template https://github.com/shirakaba/tns-template-blank-react.git

NativeScript CLI 创建一个新项目,并将应用程序标识符设置为 org.nativescript.myapp

CLI 将项目放置在当前目录中的新目录中。新创建的目录具有以下结构。

MyApp/
├── app
│ ├── App_Resources
│ └── ...
└── platforms
└── ...
  • app 目录是您的应用的 开发空间。您应该在此目录中修改所有通用和平台特定的代码。当您运行 prepare <Platform> 时,NativeScript CLI 为每个目标平台准备相关内容到平台特定的文件夹。
  • 创建了一个空的 platforms 目录。当您将目标平台添加到您的项目时,NativeScript CLI 为平台名称创建一个新的子目录。该子目录包含您的应用的准备就绪的资源。当您运行 prepare <Platform> 时,NativeScript CLI 为每个目标平台将 app 目录中的相关内容准备好到平台特定的子目录。

返回顶部

开发您的项目

使用 NativeScript 进行开发

有关使用 NativeScript 的更多信息,请参阅以下资源。

app 中进行开发

项目根目录中的 app 目录是您的项目的开发空间。 将所有通用和平台特定的代码放置在此目录中。

app 目录中,您可以使用针对特定平台的文件来为每个目标平台提供定制功能设计。为了表示文件是针对特定平台的,确保文件名采用以下格式:name.ios.extensionname.android.extension。例如:main.ios.jsmain.android.js

您可以在公共文件中开发共享功能或设计。为了表示文件是公共的,确保文件名不包含 .android..ios. 字符串。

platforms 中进行开发

重要:避免编辑位于 platforms 子目录中的文件,因为 NativeScript CLI 会覆盖此类文件。

修改配置文件

NativeScript CLI 尊重放置在 app/App_Resources 内的任何平台配置文件。

修改受权文件(仅限 iOS)

要指定您的应用所需的哪些功能 - 地图、推送通知、钱包等,您可以在 app/App_Resources/iOS 内的 app.entitlements 文件中进行添加或编辑。在构建项目时,默认的 app/App_Resources/iOS/app.entitlements 文件会与所有插件权限文件合并,并在平台目录中创建新的 yourAppName.entitlements 文件。路径为 app/platforms/ios/<应用程序名称>/<应用程序名称>.entitlements,并将其链接到 build.xcconfig 文件中。

您可以通过在 app/App_Resources/iOS/build.xcconfig 文件中设置 CODE_SIGN_ENTITLEMENTS 属性来指向您自己的权限文件,从而覆盖生成的权限文件。

返回顶部

构建您的项目

您可以为您的目标移动平台进行构建。

ns build android
ns build ios

NativeScript CLI 调用所选目标平台的 SDK 并使用它来在本地构建您的应用。

当您为 iOS 构建时,如果已连接设备,NativeScript CLI 将为设备构建,如果没有连接设备,将为原生模拟器构建。要在连接设备时触发原生模拟器构建,请设置 --emulator 标志。

重要:为了为 iOS 设备构建您的应用,您必须配置有效的证书和配置文件对,并将该对放在您的系统上以对应用程序包进行签名。有关更多信息,请参阅 iOS Code Signing - A Complete Walkthrough

返回顶部

运行您的项目

您可以在连接的 Android 或 iOS 设备上测试您的工作进展。

要验证 NativeScript CLI 是否识别您的连接设备,请运行以下命令。

ns devices

NativeScript CLI 列出所有连接的物理设备和正在运行的模拟器/模拟器。

在列出可用设备后,您可以通过执行以下操作快速在连接的设备上运行您的应用。

ns run android
ns run ios

返回顶部

扩展 CLI

NativeScript CLI 允许您通过使用 挂钩 来扩展其行为并对其进行定制以满足您的需求。

当您运行可扩展命令之一(例如,ns build)时,CLI 会检查挂钩并执行它们。插件也可以使用挂钩来控制应用程序包的编译。

有关更多信息,请参阅 扩展 CLI 文档

返回顶部

故障排除

如果 NativeScript CLI 的行为不符合预期,您可能遇到了配置问题。例如,缺少 JAVA 路径。要检查您的系统是否已正确配置 NativeScript CLI,请运行以下命令。

ns doctor

此命令会打印有关当前配置问题的警告,并提供有关如何解决它们的基本信息。

如果解决配置问题不能解决您的问题,您可以 报告问题向社区提问

返回顶部

如何贡献

要了解如何记录您刚刚发现的错误,请点击 这里

要了解如何建议新功能或改进,请点击 这里

要了解如何为代码库做贡献,请点击这里

返回顶部

如何构建

git clone https://github.com/NativeScript/nativescript-cli
cd nativescript-cli
npm run setup

要使用本地构建的CLI而不是ns,您可以使用PATH_TO_CLI_FOLDER/bin/ns。例如:PATH_TO_CLI_FOLDER/bin/ns run ios|android

返回顶部

获取帮助

请严格使用GitHub问题报告错误请求功能。对于一般的NativeScript问题和支持,请查看Stack Overflow或在我们的NativeScript社区Discord频道中询问我们的专家。

返回顶部

许可

本软件许可协议为Apache 2.0许可,详见此处

返回顶部