2016-02-25 13 views
21

के बिना सभी गाइड npm स्थापित करने का सुझाव देते हैं, लेकिन मैं इसके बिना एक रास्ता खोज रहा हूं।टीएस के साथ कोणीय 2 पर विकास लेकिन एनपीएम

There are Angular2 files available, लेकिन उनमें से कोई भी टाइपस्क्रिप्ट कोड नहीं है।

तो मुझे क्या करना चाहिए? क्या मुझे Angular2.ts या विशिष्ट Angular2-xx.js और .d.ts फ़ाइलों की आवश्यकता है?

अद्यतन: मैंने Angular2NPM के माध्यम से डाउनलोड किया है और पूर्ण स्रोत पेड़ प्राप्त किया है, जिसमें विशिष्ट चीजों को ढूंढना मुश्किल है। Angular2 के लिए .d.ts के लिए खोज कोई परिणाम नहीं लौटा। बहुत सारे .ts और .d.ts फ़ाइलें कोड के विशाल संग्रह में हैं।

उत्तर

11

वास्तव में, ये फ़ाइलें Angular2 और इसकी निर्भरताओं का एक बंडल संस्करण हैं। उनका उपयोग टाइपस्क्रिप्ट के साथ लिखे गए एप्लिकेशन के भीतर किया जा सकता है। वास्तव में टाइपस्क्रिप्ट को ब्राउज़र में बॉक्स से बाहर नहीं किया जा सकता है। आपको उन्हें टाइपस्क्रिप्ट कंपाइलर के साथ ईएस कोड में संकलित करने या टाइपस्क्रिप्ट लाइब्रेरी के साथ सीधे ब्राउज़र में उन्हें स्थानांतरित करने के लिए प्रीप्रोसेस करना होगा।

इसे सिस्टमजेएस के भीतर सीधे transpiler कॉन्फ़िगरेशन विशेषता (नीचे देखें) के माध्यम से कॉन्फ़िगर किया जा सकता है। आप NPM के बिना एक आवेदन लागू करना चाहते हैं

<script src="https://code.angularjs.org/2.0.0-beta.2/angular2-polyfills.js"></script> 
<script src="https://code.angularjs.org/tools/system.js"></script> 
<script src="https://code.angularjs.org/tools/typescript.js"></script> 
<script src="https://code.angularjs.org/2.0.0-beta.2/Rx.js"></script> 
<script src="https://code.angularjs.org/2.0.0-beta.2/angular2.dev.js"></script> 
<script src="https://code.angularjs.org/2.0.0-beta.2/http.dev.js"></script> 

, आप browser.It के रास्ते जब plunkr का उपयोग कर हम करते हैं के भीतर अपने टाइपप्रति फ़ाइलों transpile कर सकते हैं:

पहले बस अपने HTML फ़ाइल में इन फ़ाइलों को जोड़ सकते हैं। इसके लिए आपको नीचे बताए गए तरीके SystemJS विन्यस्त करने की जरूरत:

<script> 
    System.config({ 
    transpiler: 'typescript', 
    typescriptOptions: { 
     emitDecoratorMetadata: true 
    }, 
    packages: { 
     'app': { 
     defaultExtension: 'ts' 
     } 
    } 
    }); 
    System.import('app/main') 
     .then(null, console.error.bind(console)); 
</script> 

एक app फ़ोल्डर

के तहत अपने टाइपप्रति फ़ाइलों को परिभाषित करने के प्रति सावधान रहें यहाँ एक सरल (और पूर्ण) plunkr कि कैसे करना है का वर्णन है: https://plnkr.co/edit/vYQPePG4KDoktPoGaxYu?p=info

आप संबंधित कोड डाउनलोड कर सकते हैं और एनपीएम का उपयोग किए बिना http-server जैसे स्थिर HTTP सर्वर के साथ स्थानीय रूप से अपने कोड का उपयोग कर सकते हैं। यह आपके उपयोग के मामले के लिए एक अच्छा प्रारंभिक बिंदु हो सकता है ...

संपादित

अपने टाइपप्रति फ़ाइलों वी.एस. द्वारा संकलित कर रहे हैं, तो आप नीचे दिए गए वर्णन के अनुसार SystemJS विन्यास अनुकूलित करने की आवश्यकता:

<script> 
    System.config({ 
    packages: { 
     app: { 
     defaultExtension: 'js', 
     } 
    } 
    }); 
    System.import('app/boot') 
     .then(null, console.error.bind(console)); 
</script> 

इस तरह, सिस्टमजेएस आयात करते समय आपकी जेएस फाइल लोड करेगा। उदाहरण के लिए: System.import('app/boot')app/boot.js का उपयोग करेगा और टाइपस्क्रिप्ट एक

+1

मैं वीएस का उपयोग कर रहा हूं, यह स्वचालित रूप से .ts को .js में परिवर्तित करता है। –

+0

बढ़िया! तो Angular2 के लिए जेएस फ़ाइल और code.angularjs.org से इसकी निर्भरताओं को शामिल करें और सिस्टमजेएस को अपनी संकलित जेएस फाइलों का उपयोग करने के लिए कॉन्फ़िगर करें और इसे काम करना चाहिए ;-) –

+1

लेकिन इससे ब्राउज़र में संकलन हो जाएगा, क्या मैं सही हूं? –

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