Модули TypeScript и ES. Нужен ли мне даже пакет или веб-пакет? - PullRequest
0 голосов
/ 03 октября 2018

У меня есть старое веб-приложение TypeScript, которое ссылается на все через Script Include на странице HTML, поэтому все объявляется в глобальном пространстве имен.В коде TypeScript используются модули TypeScript -

myclass.ts:

module MyModule {
  export class MyClass {
 }
}

someotherfile.ts

let myInstance = new MyModule.MyClass(); // globally available

Весь TypeScript записывается в один файл с использованием «outFile»в tsconfig.json, который может быть проблематичным с глобальными переменными и порядком написания вещей.

Я использую Visual Studio, в которую встроена поддержка TypeScript. При создании решения он создает TypeScript.

Я хочу обновить код с использованием современных модулей ES6:

myclass.ts:

export class MyClass {
}

someotherfile.ts

import { MyClass } from "./myclass";
let myInstance = new MyClass(); 

Сначала я думал, чтодля этой работы потребуется использовать стороннюю библиотеку, такую ​​как веб-пакет или накопительный пакет, однако, глядя на JavaScript, сгенерированный компилятором TypeScript, похоже, что он должен просто работать, чтобы продолжать использовать «outFile» - все упаковано в модули, поэтомуне будет доступен в глобальном масштабе:

Object.defineProperty(exports, "__esModule", { value: true });
var MyClass = /** @class */ (function () { ..}());
exports.MyClass = MyClass;

Если бы я использовал накопительный пакет или веб-пакет, я был немного озадачен тем, как это будет работать с Visual Studio, работающей с собственным tsc process - большинство примеров похоже на VS Code, использующий компилятор машинописи npm.

В любом случае, я что-то упустил?Есть ли причина, по которой я не могу пропустить использование веб-пакета или накопительного пакета?

...