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

Я просто пытался создать проект proof-of-concept TS + SystemJS с минимально возможной настройкой-без «Angular2 starter kit» и тому подобного.
Я потратил час на поиск и настройку этой настройки, но она все еще не работает.

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

/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 config

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

});

Мой индекс.формат 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то часть работы? I thought SystemJS and tsccould do the bundling and transpiling but appearably there’s smth missing in the build process.
Объяснение установки SystemJS вместо исправления ошибки было бы также очень полезно.

1 ответ

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

    1) Как сказал @Nitzan Tommer — изменить .ts to .js в системе.импорт блока

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

    2) (SystemJS) require is not defined error is fixed by this post
    изменить tsconfig.json иметь» систему » в качестве модулей

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

    Вот демонстрационный РЕПО, который я создал с помощью этой установки: https://github.com/shershen08/systemjs-typescript-simple