您正在通过telerik平台构建视频流应用。我的app结构如下:
我的项目 应用 - package.json - app.js node_modules 的package.json server.js
我在我的node_modules中添加了firebase和bitmovin播放器插件。现在Telerik平台文档说:添加对package.json文件的require引用。
我不知道需要打开哪个package.json文件。有两个文件。 Project根目录中的第一个看起来像:
{
"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&amp; firebase),如上图所示的telerik平台文档中所述没有。 8。
请指导。
答案 0 :(得分:0)
第一个package.json(即root 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中不起作用)。
使用插件时(例如使用我的nativescript-dom
),您执行var dom = require('nativescript-dom');
(或者您可以使用const dom = ...
,因为NativeScript可以使用ES6语法)。您不必指向插件中的实际js文件。如果插件构建正确;它会自动在插件中使用正确的js文件。
最后在NativeScript中,DevDependancies适用于未放入应用程序的任何内容。在这种情况下,android-snapshot插件在应用程序的构建阶段运行一些构建代码。