2015-09-13 10 views
6

क्या टीवीएमएल ऐप्पल टीवी ऐप्स पर उपयोग के लिए बाहरी जावास्क्रिप्ट पुस्तकालयों को लोड करना और उपयोग करना संभव है?टीवीएमएल आधारित ऐप्पल टीवी ऐप्स के लिए बाहरी जावास्क्रिप्ट पुस्तकालयों का उपयोग करें?

उदाहरण के लिए, क्या मैं फायरबेस जेएस लाइब्रेरी लोड कर सकता हूं और डेटा लाने के लिए इसका उपयोग कर सकता हूं? या अपने कार्यों का उपयोग करने के लिए lodash लोड?

+0

मैं ब्राउज़रफ़ी का उपयोग कर सफलतापूर्वक उपयोग कर रहा हूं। वादे जाओ! – mcabe

+0

@mcabe क्या आप संभवतः एक उदाहरण प्रदान कर सकते हैं? –

+1

निश्चित रूप से। मैंने एक [रेपो] (https://github.com/mcabe/appletvmljs) स्थापित किया जो मेरे आर्किटेक्चर को डेमो करता है। लेकिन इसकी सूची मैं किसी भी निर्णय को स्थापित करने के लिए एनपीएम का उपयोग करता हूं और केवल उन्हें और मेरे व्यू-कंट्रोलर की आवश्यकता होती है। ब्राउजरिफा सिर्फ मेरी फाइलों को बंडल करें। – mcabe

उत्तर

6

आप मूल्यांकन स्क्रिप्ट फ़ंक्शन का उपयोग कर बाहरी जावास्क्रिप्ट लाइब्रेरी लोड कर सकते हैं।

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

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

}] 
5

मेरे पास मेरी सभी निर्भरताओं को एक मिनीकृत application.js फ़ाइल में पैकेज करने के लिए वेबपैक का उपयोग करके भाग्य है। वेबपैक आवश्यक सामान्यज मॉड्यूल और तृतीय-पक्ष पुस्तकालयों को बंडल करने में संभाल लेगा और आप लापता es6 समर्थन (आयात/निर्यात, कॉन्स/लेट, तीर फ़ंक्शंस इत्यादि) जोड़ने के लिए बेबेल-लोडर का उपयोग कर सकते हैं।

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:

यहाँ मेरी application.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'] 
     } 
     } 
    ] 
    } 
}; 
+0

शुरू करना चाहिए और वेबपैक आउटपुट जेएस के साथ डीबग करने के लिए आप सफारी वेब इंस्पेक्टर का उपयोग कैसे करते हैं? – zfu

संबंधित मुद्दे