Использовать внешние библиотеки javascript для приложений Apple TV на основе TVML?

можно ли загружать и использовать внешние библиотеки javascript для использования в приложениях TVML Apple TV?

например, могу ли я загрузить библиотеку Firebase js и использовать ее для извлечения данных? Или загрузить lodash для использования его функций?

3 ответов


внешние библиотеки JavaScript можно загрузить с помощью функции evaluateScript.

evaluateScripts([“ARRAY OF JS URLS”], function(success) {

// do work here once the JavaScript files have been evaluated

}]

мне повезло с помощью webpack упаковать все мои зависимости в одно уменьшенное приложение.файл js. Webpack будет обрабатывать связывание необходимых модулей commonjs и сторонних библиотек, и вы можете использовать babel-loader для добавления отсутствующей поддержки es6 (импорт/экспорт, const/let, функции стрелок и т. д.).

вот мое заявление.js:

require('babel-polyfill');
import Presenter from './presenter';
import ResourceLoader from './resourceLoader';

App.onLaunch = function(options) {
  let resourceLoader = new ResourceLoader(options.BASEURL);

  Presenter.resourceLoader = resourceLoader;

  let index = resourceLoader.loadResource(`${options.BASEURL}templates/Index.xml.js`, (resource) => {
    let doc = Presenter.makeDocument(resource);
    doc.addEventListener('select', Presenter.load.bind(Presenter));
    navigationDocument.pushDocument(doc);
  });
}

и мой webpack.конфиг.js:

var webpack = require('webpack');

module.exports = {
  entry: "./src/js/application.js",
  output: {
      path: __dirname + "/public/js",
      filename: "application.js"
  },
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        exclude: /(node_modules|bower_components)/,
        loader: 'babel',
        query: {
          cacheDirectory: true,
          presets: ['es2015']
        }
      }
    ]
  }
};

https://github.com/emadalam/tvml-catalog-using-atvjs

обратитесь к этому порту исходного кода образца, переписанного с помощью atvjs framework, который использует внешние библиотеки, такие как руль, лодашь, atvjs etc.