Связка Angular2 TypeScript

Я следую инструкциям здесь: Простой способ связать приложение Angular 2 и в этом вопросе SO: Включая Concatenated Typescript JS outFile — Angular 2 + Typescript

Я настроил свой tsconfig.json следующим образом:

{
"compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "system",
    //"outDir": "../wwwroot/",
    "outFile": "../wwwroot/dist/app.js",
    "noEmitOnError": false,
    "noImplicitAny": false,
    "removeComments": true,
    "sourceMap": true,
    "target": "es5",
    "moduleResolution": "node",
    "suppressImplicitAnyIndexErrors": true,
    "forceConsistentCasingInFileNames": false
},
"exclude": [
    "../node_modules",
    "../wwwroot"
]
}

Это компилируется, казалось бы, без проблем и производит dist/app.js, как и ожидалось. Внутри файла я вижу строку, начинающуюся с System.register("main", ..., поэтому модуль main должен быть зарегистрирован.

Мой index.html имеет это:

<script src="dist/app.js"></script>
System.import('main')
    .then(null, console.error.bind(console));

Я вижу, что app.js загружается браузером, однако все, что я получаю, это 404 ошибки и исключения из ZoneJS (Error: (SystemJS) XHR error (404 Not Found) loading http://localhost:5000/main.js), пытающегося загрузить «main.js».

Если я этого не сделаю

System.import('main')
    .then(null, console.error.bind(console));

то ошибок нет, но приложение не запускается.

Любые идеи, что делать отсюда?


person Andrei    schedule 04.11.2016    source источник
comment
Скорее всего, это связано не с вашим tsconfig.json, а с вашей конфигурацией SystemJS.   -  person martin    schedule 06.11.2016
comment
Возможно, посмотрите и на этот вопрос: stackoverflow.com/questions/35867660/   -  person martin    schedule 06.11.2016