2016-09-08 11 views
7

मैं इस फ़ाइल, एक ट्यूटोरियल से चिपकाया है (और क्यों न हम स्वीकार करते हैं, के बीच डॉक्स, tuts, और उदाहरण असमानता अद्भुत है):tsconfig.json को अनदेखा करने वाला टाइपस्क्रिप्ट कंपाइलर क्यों है?

/scripts/tsconfig.json:

{ 
    "compilerOptions": { 
     "emitDecoratorMetadata": true, 
     "experimentalDecorators": true, 
     "module": "commonjs", 
     "noEmitOnError": true, 
     "noImplicitAny": false, 
     "outDir": "../wwwroot/appScripts/", 
     "removeComments": false, 
     "sourceMap": true, 
     "target": "es5", 
     "moduleResolution": "node" 
    }, 
    "exclude": [ 
     "node_modules", 
     "typings/index", 
     "typings/index.d.ts" 
    ] 
} 

विकल्प हैं

TypeScript 
| 
--test.ts 
    | 
    --test.js 

, और कहा कि उसी निर्देशिका में शारीरिक रूप से है: बचाने पर संकलित करने के लिए है, लेकिन जब भी मैं एक टाइपप्रति फ़ाइल सहेजें, जावास्क्रिप्ट उत्पादन 'के अंतर्गत' समाप्त होता है, या 'संलग्न करने के लिए', स्रोत फ़ाइल सेट स्रोत, /TypeScript। यदि tsconfig.json गुम है, तो संकलक शिकायत करता है, लेकिन जब यह मौजूद होता है, और यह निश्चित रूप से होता है, तो संकलक "outDir": "../wwwroot/appScripts/" सेटिंग को अनदेखा करता है।

मैं वास्तव में Gulp के लिए नया करने के लिए कर रहा हूँ, लेकिन Gulp कार्य मेरे लिए ठीक लग रहा है:

var tsProject = ts.createProject('scripts/tsconfig.json'); 
gulp.task('ts', function (done) { 
    //var tsResult = tsProject.src() 
    var tsResult = gulp.src([ 
      "scripts/*.ts" 
    ]) 
     .pipe(ts(tsProject), undefined, ts.reporter.fullReporter()); 
    return tsResult.js.pipe(gulp.dest('./wwwroot/appScripts')); 
}); 
+0

'ts' क्या है? क्या यह गल्प टाइपस्क्रिप्ट मॉड्यूल है? https://www.npmjs.com/package/gulp-typescript –

+0

सहेजने पर संकलन के लिए क्या देख रहा है? –

उत्तर

3

विकल्प बचाने

पर संकलित करने के लिए आप एक फ़ाइल यह है सहेजते हैं सेट कर रहे हैं स्वचालित रूप से उस फ़ाइल पर आयात की गई एक फ़ाइल और फ़ाइलों को संकलित करना। अपने आईडीई से ऑटो संकलन विकल्प बंद करें, इसलिए कंपाइलर tsconfig.json फ़ाइल पर विचार करेगा।

जब इनपुट फ़ाइलें कमांड लाइन पर निर्दिष्ट होती हैं, tsconfig.json फ़ाइलों को अनदेखा कर दिया जाता है।

एक निर्देशिका में tsconfig.json फ़ाइल की उपस्थिति का संकेत है कि निर्देशिका एक टाइपप्रति परियोजना की जड़ है। Tsconfig.json फ़ाइल रूट फ़ाइलों और प्रोजेक्ट संकलित करने के लिए आवश्यक संकलक विकल्प निर्दिष्ट करता है। एक परियोजना निम्न तरीकों में से एक में संकलित किया गया है:

  1. tsconfig.json का उपयोग करते हुए कोई इनपुट फाइलों के साथ tsc लागू, जिस स्थिति में tsconfig.json फ़ाइल के लिए संकलक खोजें वर्तमान में शुरू करके निर्देशिका और पैरेंट निर्देशिका श्रृंखला जारी है।

  2. कोई इनपुट फाइल और एक प्रोजेक्ट (या बस -p) कमांड लाइन विकल्प के साथ tsc का आविष्कार करके जो tsconfig.json फ़ाइल वाली निर्देशिका के पथ को निर्दिष्ट करता है।

https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

+0

इस उत्तर के लिए धन्यवाद! यह मुझे पागल कर रहा था, जब तक मुझे याद नहीं आया कि मैंने हाल ही में "compileOnSave": true 'my tsconfig.json को जोड़ा है। – Knotty66

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