是否可以加載和使用外部JavaScript庫在TVML Apple TV應用程序上使用?對基於TVML的Apple TV應用程序使用外部JavaScript庫?
例如,我可以加載Firebase js庫並使用它來獲取數據嗎?或者加載lodash來使用它的功能?
是否可以加載和使用外部JavaScript庫在TVML Apple TV應用程序上使用?對基於TVML的Apple TV應用程序使用外部JavaScript庫?
例如,我可以加載Firebase js庫並使用它來獲取數據嗎?或者加載lodash來使用它的功能?
您可以使用evaluateScript函數加載外部JavaScript庫。
evaluateScripts([「ARRAY OF JS URLS」], function(success) {
// do work here once the JavaScript files have been evaluated
}]
我已經有運氣使用webpack將我所有的依賴包打包成一個單一的縮小的application.js文件。 Webpack將處理所需commonjs模塊和第三方庫的捆綁,並且可以使用babel-loader添加缺少的es6支持(導入/導出,常量/讓,箭頭函數等)。
這裏是我的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']
}
}
]
}
};
你如何使用safari web inspector來調試webpack輸出js? – zfu
https://github.com/emadalam/tvml-catalog-using-atvjs
請參閱此端口的原始樣本代碼的使用重新編寫atvjs使用外部庫的框架,如Handlebars,lodash,atvjs等。
我使用browserfy成功使用require。去承諾! – mcabe
@ mcabe您能否提供一個示例? –
當然。我建立了一個[回購](https://github.com/mcabe/appletvmljs),它演示了我的架構。但它的名單是我使用npm來安裝任何decencies,只需要他們和我的視圖控制器。 browserify只是捆綁我的文件。 – mcabe