2015-10-01 19 views
5

वर्तमान में मैं तत्काल से घड़ी ध्वज के साथ tsc कंपाइलर का उपयोग कर रहा हूं। यह अच्छी तरह से काम करता है, सभी परिभाषा फाइलों को लोड करता है और प्रत्येक कोणीय 2 फ़ाइल को सही ढंग से संकलित करता है। हालांकि खोल खिड़की के माध्यम से उपयोग करने के लिए बहुत असहज है।कोणीय 2 के लिए गल्प-टाइपस्क्रिप्ट कैसे सेट करें?

मेरा लक्ष्य एक गल्प कार्य बनाना है जो कोणीय 2 परिभाषाओं के अनुसार किसी भी प्रकार की फ़ाइल फ़ाइल का अनुवाद कर सकता है। मैं gulp-typescript शामिल किया है, का उपयोग करने के लिए आसान लगता है, इसलिए इस कोड है:

var tsProject = $.typescript.createProject(paths.src + '/tsconfig.json'); 
gulp.task('typescript', function() { 
    gulp 
    .src([ 
     paths.src + '/*.ts' 
    ]) 
    .pipe($.typescript(tsProject)).js 
    .pipe(gulp.dest(paths.tmp)); 
}); 

और यह फ़ोल्डर संरचना है:

... 
src/ 
---- app/ 
-------- ts/ 
------------ *.ts 
---- typings/ 
-------- angular2/ 
------------ angular2.d.ts 
------------ http.d.ts 
-------- es6-promise/ 
------------ ... 
-------- rx/ 
------------ ... 
-------- tsd.d.ts 
---- *.ts 
---- tsconfig.json 
gulpfile.js 
... 

tsconfig फ़ाइल नहीं files सूची है, तो संकलक चाहिए src (किसी भी स्तर पर) के अंदर किसी भी टीएस फ़ाइल की जांच करें।

जब कार्य शुरू हो जाती है मैं इस त्रुटियों का सामना करना:

error TS2307: Cannot find module 'angular2/angular2'. 
error TS2307: Cannot find module 'angular2/http'. 

मैं कैसे जो d.ts फ़ाइलों का उपयोग करने के लिए संकलक टाइपप्रति को बता सकते हैं?

+1

आप इस '' /// ' '? –

+0

इस प्रोजेक्ट को देखें, यह उपयोगी हो सकता है: [ng2-play.ts] (https://github.com/pkozlowski-opensource/ng2-play.ts) –

उत्तर

3

ऐसा लगता है कि आपने अभी तक अपनी फ़ाइलों में amd-reference घोषित नहीं किया है। फाइलों में घोषित है जहाँ आप अपने मॉड्यूल ऐसा ही कुछ आयात करने के लिए

प्रयास करें:

/// <amd-dependency path="./src/typings/angular2/angular2.d.ts" /> 
/// <amd-dependency path="./src/typings/angular2/http.d.ts" /> 

import angular2 = require("angular2"); 
import http = require("http") 

/// <amd-dependency बताता संकलक कि विशेष मॉड्यूल सिस्टम में मौजूद है और त्रुटियों के बिना संकलित करने के लिए संभावना दे

+0

धन्यवाद! बहुत आसान, जब मैंने प्रोजेक्ट शुरू किया तो मैंने इन संदर्भ रेखाओं का उपयोग किया, लेकिन 'tsc' बिना काम करता है, इसलिए मैंने उन्हें हटा दिया। अब मैं फिर से स्वागत कर सकता हूँ! – Splact

+1

मुझे आपकी मदद करने में खुशी है! :) शुभकामनाएँ! –

1

मैं करने के लिए सलाह देते हैं gulp.src को परिभाषा जोड़ें। कुछ ऐसा:

var tsProject = $.typescript.createProject(paths.src + '/tsconfig.json'); 
gulp.task('typescript', function() { 
    gulp 
    .src([ 
     paths.src + '/app/**/*.ts', 
     paths.src + '/typings/**/*.d.ts' 
    ]) 
    .pipe($.typescript(tsProject)).js 
    .pipe(gulp.dest(paths.tmp)); 
}); 
0

यह मुझे थोड़ी देर के लिए शाप देने और शपथ ग्रहण कर रहा था। सुनिश्चित करें कि आप अपने tsconfig.json की compilerOptions नोड में इस राशि सुनिश्चित:

{ 
    "compilerOptions": { 
    "moduleResolution": "node", 
    } 
} 
संबंधित मुद्दे