Да, если вы используете машинопись, используйте ES6/Машинопись загрузки модулей синтаксис:
import { type } from './module';
При компиляции Машинопись на JavaScript, вы можете ориентировать любой модуль загрузчика, который вы хотите:
es6
system
commonjs
AMD
UMD
Вы можете настроить систему модуля с помощью tsconfig.json:
"compilerOptions": {
...
"module": "commonjs",
}
Браузеры пока не размещены загрузка загружаемого модуля. Пока они это сделают, включите необходимый скрипт в зависимости от используемой вами системы модулей.
Например, если таргетинг «систему» или «CommonJS», то убедитесь, что вы включили совместимый скрипт правильно загрузить модуль (т.е. node_modules/systemjs/DIST/system.js)
Мой совет , если вы пишете свое приложение ng2 в TypeScript
IMHO, es6 обеспечивает самый чистый синтаксис загрузки модуля. Я предпочитаю писать программы Angular2 с помощью TypeScript и использовать языковые функции es6 (включая синтаксис загрузки модуля очистки). Когда дело доходит до компиляции TypeScript в JavaScript, я пытаюсь настроить таргетинг на es5, так как большинство браузеров сегодня обеспечивают почти 100% соответствие без прокладки и используют systemjs в качестве загрузчика модуля (наиболее гибкий, если я хочу изменить форматы позже).
В коде FileServer запишите его в TypeScript и используйте синтаксис загрузки модуля es6. Таким образом, он будет скомпилирован синтаксисом загрузчика модуля, на который вы нацеливаетесь, что должно соответствовать остальным вашим ts-файлам.
эквивалентная строка es6 будет 'import * в качестве файлового архива из 'filesaver';' – Claies