मैं टाइपप्रति संस्करण 1.0.1.0कहाँ "सख्त का उपयोग करें" करता है जब टाइपप्रति और एएमडी मॉड्यूल का उपयोग कर
उपयोग कर रहा हूँ टाइपप्रति का उपयोग करते समय जाने के लिए और एएमडी एक साथ मॉड्यूल, जहाँ मैं वास्तव में लिखना चाहिए बयान "सख्त का उपयोग करें"? क्या यह आयात के ऊपर या नीचे जाना चाहिए?
मैं, आयात ऊपर लिख सकते हैं तो यह टाइपप्रति कोड है कि:
"use strict";
import Backbone = require('backbone');
class MyClass extends Backbone.View<Backbone.Model> { }
export = MyClass;
फ़ाइल के शीर्ष पर बयान के साथ इस जावास्क्रिप्ट में परिणाम:
"use strict";
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
define(["require", "exports", 'backbone'], function(require, exports, Backbone) {
var MyClass = (function (_super) {
__extends(MyClass, _super);
function MyClass() { _super.apply(this, arguments); }
return MyClass;
})(Backbone.View);
return MyClass;
});
या मैं रख सकते हैं मेरे आयात के नीचे "सख्त उपयोग करें" कथन। तो यह है कि इस टाइपप्रति: RequireJS समारोह घोषणा के शीर्ष पर बयान के साथ इस जावास्क्रिप्ट में
import Backbone = require('backbone');
"use strict";
class MyClass extends Backbone.View<Backbone.Model> { }
export = MyClass;
परिणाम:
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
define(["require", "exports", 'backbone'], function(require, exports, Backbone) {
"use strict";
var MyClass = (function (_super) {
__extends(MyClass, _super);
function MyClass() { _super.apply(this, arguments); }
return MyClass;
})(Backbone.View);
return MyClass;
});
कौन सा सही है? टीएसलिंट पूरी तरह से गायब होने पर भी उल्लंघन की रिपोर्ट नहीं करता है। क्या यह शायद टीएसलिंट में एक बग है?
टीएसलिंट के बारे में कोई राय? ऐसा लगता है कि इसे "उपयोग-सख्त" उल्लंघन के हिस्से के रूप में मान्य किया जाना चाहिए। –
मुझे आश्चर्य होगा अगर टीएसलिंट को किसी भी तरह की समस्या थी। मुझे लगता है कि नियम यह है कि "सख्त उपयोग" मॉड्यूल के शीर्ष स्तर पर होना चाहिए - इसलिए यह "शीर्ष स्तर" की टीएसलिंट की सटीक परिभाषा पर निर्भर करता है। – Fenton
@ फ़ेंटन "ऑटो-जेनरेट कोड सख्त-अनुरूप है।", वास्तव में ऐसा नहीं है, 'विस्तारित 'सहायक में' this.constructor = d' पंक्ति चुपचाप विफल हो जाएगी, '.constructor' प्रॉपर्टी सख्त के तहत असाइन नहीं की जा सकती है मोड। – trusktr