Пакет JSPM с транспортером TypeScript

Я больше разбираюсь в System.js и JSPM, где я подошел к моменту, когда я хочу собрать свой исходный код TypeScript в пакет JavaScript.

Теперь я могу связать мой сгенерированный код JavaScript с чем-то вроде: jspm bundle some/source/path someDestFile.js

но затем мне нужно предварительно собрать весь мой TypeScript сначала в JavaScript, а затем связать, и я остаюсь со всеми скомпилированными (и отделенными) файлами JS. Это далеко от идеала!

Я прошел через документы JSPM здесь, но не нашел решения.

Просто чтобы прояснить ситуацию, я не хочу компилировать TypeScript в своем браузере, скорее, это предварительно скомпилированный пакет надежного JavaScript.

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

PS Я использовал установку транспортера TypeScript, как показано здесь

2 ответа

Решение

Вы можете сделать это с помощью JSPM Builder. Вы можете объединить все файлы машинописи и bundlesfx в один файл, сконфигурировав jspm.conf.js следующим образом:

System.config({
    defaultJSExtensions: true,
    transpiler: "typescript",
    typescriptOptions: {
        "module": "amd",
        "experimentalDecorators": true
    },
    ...
    packages: {
        "app": {
            "main": "index",
            "defaultExtension": "ts",
            "meta": {
                "*.ts": {
                    "loader": "ts"
                }
            }
        }
});

а затем запустить:

jspm bundle-sfx src/index dist/app.js

Вы можете увидеть полный пример работы здесь: https://github.com/b091/ts-skeleton/

Я считаю, что вопрос устарел. Я только что попробовал это с JSPM 0.17.0-beta.31 с plugin-typcript ( https://github.com/frankwallis/plugin-typescript), и "jspm bundle" действительно предварительно перевел TypeScript для меня.

"jspm bundle-sfx" теперь является "сборкой jspm". Поскольку в первоначальном принятом ответе предлагалось перейти на bundle-sfx (сборка), что сейчас не нужно, я хотел бы уточнить решение о том, использовать ли комплект или сборку. Я считаю, что комплектация более полезна для ускорения разработки, в то время как сборка позволяет создавать меньший файл с большей оптимизацией, поэтому вы можете использовать комплектацию при разработке и сборку при выпуске. Имейте в виду, что если вы используете сборку на библиотеке, код, который импортирует вашу библиотеку, не сможет поделиться своими зависимостями.

Другие вопросы по тегам