2015-05-26 5 views
11

मैं गतिशील रूप से एक डार्ट स्क्रिप्ट का निर्माण और लोड करना चाहता हूं। मैं यह कैसे करु?मैं spawnUri के लिए गतिशील रूप से एक डार्ट स्क्रिप्ट कैसे बना सकता हूं?

मुझे पता है कि मैं एक डार्ट स्क्रिप्ट को गतिशील रूप से लोड करने के लिए Isolate.spawnUri का उपयोग कर सकता हूं। हालांकि, मुझे केवल इतना पता है कि मैं फ़ाइल से लोड कर सकता हूं: और http: यूआरआई। इसका मतलब है कि मुझे अपनी स्क्रिप्ट कहीं लोड होने की आवश्यकता है, जो एक जटिलता है जिसे मैं टालना चाहता हूं।

उत्तर

15

डार्ट एसडीके 1.10 में, अब आप एक डेटा बना सकते हैं: एक स्ट्रिंग से यूआरआई, और उस डेटा को पास करें: यूआरआई स्पॉन यूरी।

इसका मतलब है कि आप गतिशील रूप से एक स्ट्रिंग, रनटाइम पर, इसे एन्कोड कर सकते हैं, और गतिशील रूप से इसे लोड/चला सकते हैं। साफ!

यहां एक उदाहरण है।

आपका डार्ट स्क्रिप्ट:

import 'dart:isolate'; 

main() { 
    var loadMe = ''' 

main() { 
    print('from isolate'); 
} 

'''; 

    var uri = Uri.parse('data:application/dart;charset=utf-8,${Uri.encodeComponent(loadMe)}'); 
    print('loading $uri'); 

    Isolate.spawnUri(uri, null, null); 
} 

सूचना डेटा: यूआरआई इस रूप में होने चाहिए:

data:application/dart;charset=utf-8,DATA 

जहां DATA यूआरआई प्रतिशत एन्कोड किया गया है।

इसके अलावा, utf-8 कम मामला होना चाहिए।

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