ошибки webpack с объектами DTO, сгенерированными из TypeScript - PullRequest
0 голосов
/ 11 июня 2019

У меня есть DTO, написанные на TypeScript, которые затем используются в файлах, упакованных веб-пакетом, но результирующий пакет генерирует ошибки времени выполнения, поскольку веб-пакет не связывает файлы javascript из файлов TypeScript DTO.

Просмотрдокументация веб-пакета не привела к обнаружению способа слепого включения всех файлов javascript в каталог.

== DTO ==

module PortalSPA.Models.PurchasePath {
export class SaveModel extends LibSPA.Models.QuoteIdModel {
public FirstName: string
public LastName: string
public CompanyName: string
public DBA: string
public ContactEmail: string
public ContactPhone: string
public ContactExtension: string
public State: string
public ZipCode: string
public MultipleStates: PortalSPA.Models.PurchasePath.FEQuestionModel
}
}
var extends = (this && this.extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ proto: [] } instanceof Array && function (d, b) { d.proto = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function () { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (.prototype = b.prototype, new ());
};
})();
var PortalSPA;
(function (PortalSPA) {
var Models;
(function (Models) {
var PurchasePath;
(function (PurchasePath) {
var SaveModel = (function (_super) { extends(SaveModel, _super);
function SaveModel() {
return _super !== null && _super.apply(this, arguments) || this;
}
return SaveModel;
}(LibSPA.Models.QuoteIdModel));
PurchasePath.SaveModel = SaveModel;
})(PurchasePath = Models.PurchasePath || (Models.PurchasePath = {}));
})(Models = PortalSPA.Models || (PortalSPA.Models = {}));
})(PortalSPA || (PortalSPA = {}));

==

Используется в другом файле TypeScript как:

let saveModel: PortalSPA.Models.PurchasePath.SaveModel = {
FirstName: this.FirstName,
LastName: this.LastName,
CompanyName: this.BusinessName,
DBA: this.DBA,
ContactEmail: this.ContactEmail,
ContactPhone: this.ContactPhone,
ContactExtension: this.ContactExtension,
State: this.State,
ZipCode: this.Zip,
MultipleStates: this.MultipleStates,
QuoteId: -1,
QuoteIdEncrypted: null
};

Это приводит к ошибке времени выполнения, поскольку webpack не связывает все файлы DTO из каталога DTO, поэтому ссылки в связанных файлах JavaScript, такие какLibSPA.Models.QuoteIdModel приводит к неопределенным исключениям.

webpack должен иметь возможность видеть, что ссылки в файлах JavaScript DTO, таких как LibSPA.Models.QuoteIdModel, означают, что он должен искать дополнительные файлы JavaScript, которые содержат всесоответствующие определения.Каталог, содержащий DTO (как оригиналы TypeScript, так и передаваемые результаты javascript), находится в исходном пути для веб-пакета, поэтому у веб-пакета не должно быть никаких причин пропускать какие-либо из файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...