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

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

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

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

Я прошел через jspm docs здесь, но не нашел решения.

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

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

P.S. Я использовал установку транспилятора TypeScript, как показано здесь

Ответ 1

Вы можете сделать это с помощью JSPM builder. Вы можете связать все typescript файлы и 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/

Ответ 2

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

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