Вы можете упаковать свою библиотеку с помощью компилятора tsc. Главное, что нужно понять на этом уровне, это то, что, используя следующую конфигурацию, вы не можете напрямую объединить скомпилированные файлы JS для получения одного файла JS.
В конфигурации компилятора TypeScript:
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"declaration": false,
"stripInternal": true,
"module": "system",
"moduleResolution": "node",
"noEmitOnError": false,
"rootDir": ".",
"inlineSourceMap": true,
"inlineSources": true,
"target": "es5"
},
"exclude": [
"node_modules"
]
}
В HTML
System.config({
packages: {
app: {
defaultExtension: 'js',
format: 'register'
}
}
});
На самом деле эти файлы JS будут содержать анонимные модули. Анонимный модуль — это файл JS, который использует System.register
, но без имени модуля в качестве первого параметра. Это то, что компилятор машинописного текста генерирует по умолчанию, когда systemjs настроен как менеджер модулей.
Таким образом, чтобы все ваши модули были в одном JS-файле, вам необходимо использовать свойство outFile
в конфигурации компилятора TypeScript.
Этот вопрос может дать вам дополнительные подсказки:
Вы также можете использовать webpack для упаковки библиотек (и приложений). Вы можете посмотреть, что делает ng2-select. См. этот файл конфигурации:
person
Thierry Templier
schedule
07.04.2016