将外部JavaScript库用于基于TVML的Apple TV应用程序?

时间:2015-09-13 23:15:18

标签: javascript tvos apple-tv tvml

是否可以加载和使用外部JavaScript库以在TVML Apple TV应用程序上使用?

例如,我可以加载Firebase js库并使用它来获取数据吗?或者加载lodash以使用它的功能?

3 个答案:

答案 0 :(得分:7)

您可以使用evaluateScript函数加载外部JavaScript库。

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

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

})

答案 1 :(得分:6)

我很幸运使用webpack将所有依赖项打包到一个缩小的application.js文件中。 Webpack将处理捆绑所需的commonjs模块和第三方库,您可以使用babel-loader添加缺少的es6支持(导入/导出,const / let,箭头函数等)。

这是我的application.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.config.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']
        }
      }
    ]
  }
};

答案 2 :(得分:0)

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

请参阅使用atvjs框架重写的原始示例代码的此端口,该框架使用外部库,如Handlebarslodashatvjs等。