Я пишу проект с помощью TypeScript. Проект разделен на множество модулей. Я связываю все модули в один файл с помощью Webpack.Webpack и Typcript `__extends`
Для каждого модуля-класса, который распространяется от родительского класса, добавлен веб-пакет TypeScript __extends
helper. В результате - я получил много повторного кода.
/***/ },
/* 24 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var DeepExtend_1 = __webpack_require__(6);
//...
exports.SafariDetector = SafariDetector;
/***/ },
/* 25 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var DeepExtend_1 = __webpack_require__(6);
//...
exports.SafariMobileDetector = SafariMobileDetector;
Итак, любой способ исправить это?
Это поведение по умолчанию машинописи компилятором всякий раз, когда он обнаруживает, ключевое слово "extends". Поскольку компилятор не знает, собираетесь ли вы объединить вывод в один файл или более, он выдает фрагмент, где бы ни находилось ключевое слово. –
После googling я нашел флаг '--noEmitHelpers', который отключает помощников. Но теперь мне нужно вручную включить все TS-помощники с помощью Webpack https://www.npmjs.com/package/typescript-helpers. Я дома, но завтра я попробую сделать это с помощью 'import-loader' https://webpack.github.io/docs/shimming-modules.html#importing или с чем-то еще. –