0

嗨,我正在通过 Telerik 平台构建视频流应用程序。我的应用程序结构如下所示:

我的项目应用程序 - package.json - app.js node_modules package.json server.js

我在我的 node_modules 中添加了 firebase 和 bitmovin player 插件。现在 Telerik 平台文档说:添加对 package.json 文件的需求引用。 管理 nom 插件

我不知道需要打开哪个 package.json 文件。有两个文件。项目根目录中的第一个看起来像: { "dependencies": { "tns-core-modules": "2.5.1", "bitmovin-player": "7.2.0-rc6", "firebase": "4.1.2" }, "devDependencies": { "nativescript-dev-android-snapshot": "0.0.6", "@types/firebase": "2.4.31" } }

另一个 package.json 文件位于 app 文件夹中,如下所示: { "name": "tns-template-blank", "main": "app.js", "version": "2.5.0", "author": "Telerik <support@telerik.com>", "description": "Nativescript blank project template", "license": "Apache-2.0", "keywords": [ "telerik", "mobile", "nativescript", "{N}", "tns", "appbuilder", "template" ], "repository": { "url": "https://github.com/NativeScript/NativeScript/commit/30aca890749e9e3fb9bd0f5ddc9de5b6995859bc" } }

app.js 文件看起来像: var application = require('application'), mainModule = 'navigation/navigation'; application.start({ moduleName: mainModule });

我没有得到需要配置哪个 package.json 文件以及在哪里输入模块的 require 引用(如 bitmovin player 和 firebase ),如上图步骤号所示的 Telerik 平台文档中所述。8.

请指导。

4

1 回答 1

0

第一个 package.json(即根 package.json)是任何插件所在的地方。如果使用 CLI,您可以这样做tns plugin add nativescript-dom,然后它会将包修改为:

{
  "dependencies": {
    "tns-core-modules": "2.5.1",
    "bitmovin-player": "7.2.0-rc6",
    "firebase": "4.1.2",
    "nativescript-dom": "2.0.0"
  },
  "devDependencies": {
    "nativescript-dev-android-snapshot": "0.0.6",
    "@types/firebase": "2.4.31"
  }
}

dependencies部分是需要更改的;它需要插件名称和您将使用的版本。您的 package.json 文件对于您安装的内容已经正确。您还可以使用http://plugins.nativescript.rocks获取插件列表及其当前版本。

几个笔记;基于你说你需要 bitmovin-player 和 firebase 但使用 NativeScript;这行不通。您引用的 firebase 和 bitmovin-player 不是 NativeScript 插件,因此它们不起作用。据我所知,bitmovin 没有 NativeScript 版本(但我的 NativeScript-ExoPlayer 插件可能是一个很好的替代品),然后我相信 NativeScript-Firebase 是您想要在 NativeScript 中支持 Firebase 的插件。

我还看到您使用的是 tns-core-modules 2.5.x;这意味着您想要获得与 2.x 兼容的插件;3.x 插件不适用于 TNS 2.x(大量 2.x 插件无法在 3.x 中使用)。

使用插件时(例如使用 my nativescript-dom),var dom = require('nativescript-dom'); 您可以使用(或者您可以使用const dom = ...NativeScript 可以使用 ES6 语法)。您不必指向插件内的实际 js 文件。如果插件构建正确;它会自动在插件中使用正确的 js 文件。

最后,在 NativeScript 中,DevDependancies 适用于未放入应用程序的任何内容。在这种情况下,android-snapshot 插件会在应用程序的构建阶段运行一些构建代码。

于 2017-06-15T03:29:24.757 回答