2016-04-29 1 views
1

Я использую Angular2 с SystemJS. Я побежал через несколько вопросов, которые сводились к тому, что машинопись компилятор генерирует анонимные регистры, а не по имени регистров:получить TypeScript для создания именных регистров, а не анонимных регистров

... 
System.register([], [...deps...], ...); //Generated by TypeScript compiler 
System.register('myModule', [...deps...], ...); //How to do this? 
... 

Это для целей пакетирования. Мне нравится делать то, что делает Angular2 уже для моих собственных компонентов. Поместите несколько вызовов System.register в один миниатюрный файл, затем импортируйте корневой компонент.

Как это сделать?

+0

Как вы компилируете исходный код? Я буду продолжать смотреть, потому что мне тоже любопытно. Я не нашел ничего конкретного, но если использовать команду tsc, я не думаю, что это возможно. –

+0

Рад, что это невозможно с 'tsc', так как это компилятор узла. Я использую Visual Studio, который имеет встроенный компилятор. Это не имеет никакого значения, поскольку оба этих компилятора используют настройки tsconfig.json или MSBuild. Параметры компилятора, похоже, не имеют такой опции: https://www.typescriptlang.org/docs/handbook/compiler-options.html – RoninCoder

ответ

1

Вам необходимо установить атрибут «outFile» в конфигурации компилятора TypeScript (т. Е. Tsconfig.json) с именем файла.

В этом случае все модули будут скомпилированы в один файл (указанный), и они будут названы модулями, а не анонимными.

+1

Абсолютно верно. Интересно, компилятор TypeScript распознает это изменение, только если присутствует '--outFile'. – RoninCoder