@photosho

Как правильно скомпилировать TypeScript-проект?

Есть следующий код на TypeScript:

class A {
		a: string;
		b: number;

		constructor() {
			this.a = 'str1';
			this.b = 20;
		}
	}

	class B extends A {
		c: string;

		constructor() {
			super();

			this.c = 'str2';
		}
	}

	var a: B = new B;

	console.log(a);


Компиляцию могу запускать и напрямую через "tsc", и при помощи сборщика, все работает нормально. Следующий шаг - хочу разделить классы, записав их в разных модулях.

Модуль a.ts:

export class A {
		a: string;
		b: number;

		constructor() {
			this.a = 'str1';
			this.b = 20;
		}
	}


Модуль index.ts:

import {A} from './a';

	class B extends A {
		c: string;

		constructor() {
			super();

			this.c = 'str2';
		}
	}

	var a: B = new B;

	console.log(a);


Тут и начинаются проблемы. При компиляции "tsc" в браузере выдается ошибка:

exports is not defined


При использовании сборщика - если хочу скомпилировать результат в один файл, то ставлю в "tsconfig.json" параметр "module": "system" - появляется такая ошибка:

System is not defined


Если ставлю "module": "amd" - ошибка такая:

define is not defined


Если ставлю "module": "commonjs", то параметра "outFile" он уже не воспринимает, компилирует все ts-файлы отдельно. При подключении этих файлов к проекту браузер выдает следующую ошибку:

exports is not defined


Подскажите правильную последовательность действий. Желательно настроить сборку проекта в один js-файл, чтобы не подключать каждый модуль в html отдельно.
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы