Настройка Systemjs и tsc - *.ts.js 404 (не найдено) Ошибка

Я просто пытался создать проверенный на практике проект TS + SystemJS с минимально возможной настройкой - без "Angular2 стартовый комплект" и тому подобное. Я потратил час на поиск и настройку этой настройки, но она все еще не работает.

У меня есть следующие настройки:

/src/
 - model.ts
 - bootstrap.ts

/dist/

tsconfig.json
system.config.js
index.html

Мой tsconfig.json

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es6",
        "noImplicitAny": false,
        "sourceMap": true,
        "removeComments": false,
        "outDir": "./dist/"
    },
    "filesGlob": [
        "./src/**/*.ts"
    ],
    "compileOnSave": true
}

Мой конфиг SystemJS

System.config({
    paths: {
        // paths serve as alias
        'npm:': 'node_modules/'
    },
    map: {
        testapp: './src'
    },
    baseURL: './src',
    packages: {
        testapp: {
            format: 'register',
            defaultExtension: 'js'
        }
    },

});

Мой index.html

  <script src="/node_modules/systemjs/dist/system-polyfills.js"></script>
    <script src="/node_modules/systemjs/dist/system.src.js"></script>
    <!-- 2. Configure SystemJS -->
    <script src="systemjs.config.js"></script>
    <script>
    System.import('bootstrap.ts')
        .then(function(app) {
            console.log('app bootstrap success!');
        }, console.error.bind(console));
    </script>

В итоге у меня появляется следующая ошибка в консоли:

system.src.js:1051 GET http://0.0.0.0:8080/src/bootstrap.ts.js 404 (Not Found)fetchTextFromURL @ system.src.js:1051....
Error: (SystemJS) XHR error (404 Not Found) loading 

я бегу tsc -w в одной вкладке терминала и простой сервер https в другой.

Очевидно - SystemJS хочет использовать файлы с расширением.ts.js, в то время как tsc генерирует.js и исходные карты, но НЕ.ts.js.

Я скучаю webpack или же gulp сделать какую-то часть работы? Я думал, что SystemJS и tsc может сделать связывание и перенос, но, очевидно, чего-то не хватает в процессе сборки. Объяснение установки SystemJS, а не исправление ошибки также будет очень полезным.

1 ответ

Настройку можно исправить следующим образом:

1) как Nitzan Tomer - измените .ts на.js в блоке System.import

index.html: System.import('bootstrap.js')

2) (SystemJS) Требуется не определена ошибка исправлена ​​в этом посте - измените tsconfig.json, чтобы иметь "систему" ​​в качестве модулей

{
    "compilerOptions": {
        "module": "system",
        "target": "es5",
//..

Вот демо-репозиторий, который я создал с этой настройкой: https://github.com/shershen08/systemjs-typescript-simple

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