Problemas con la importación de clases desde módulos de Angular 2 con Typecript 1.7

Tengo problemas para entender cómo importar clases desde módulos en TypeScript, específicamente para Angular 2 en Visual Studio 2015 (actualización 1) con TypeScript 1.7.

En todas partes de la documentación de Angular 2 veo declaraciones de importación como:import {Component} from 'angular2/core';. Estos archivos están ennode_modules/angular2/*. Lo que hace justoangular2/* ¿trabajo?

Solo puedo deshacerme de los errores en Visual Studio cuando tengo una ruta relativa desde el directorio de la aplicación, como:./../node_modules/angular2/platform/browser';. Esto corrige los errores de compilación de Visual Studio, pero cuando intento ejecutar la aplicación conSystem.import('app/boot') Recibo un montón de errores como este:

system.src.js: 1049 OBTENERhttp: // localhost: 8080 / node_modules / angular2 / platform / browser 404 No encontrado)

Otro problema es poder usar declaraciones como:import {SearchComponent} from './Components/Search/search.component'; en Visual Studio, pero cuando lo ejecuto hay muchos errores GET ensystem.src.js:2476.

Pensé que establecer eldefaultExtension: 'js' paraSystem.config debería haberse ocupado de ese problema.

ACTUALIZAR Aquí están todos los archivos que creo que son relevantes:

views / home / index.html

<script src="node_modules/es6-shim/es6-shim.js"></script>
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
System.config({
        packages: {
            app: {
                format: 'register',
                defaultExtension: 'js'
            }
        }
    });
System.import('app/app')
    .then(null, console.error.bind(console));

test.csproj

<TypeScriptToolsVersion>1.7</TypeScriptToolsVersion>
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
<TypeScriptModuleResolution>Node</TypeScriptModuleResolution>
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
<TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
<TypeScriptModuleKind>CommonJS</TypeScriptModuleKind>
<TypeScriptRemoveComments>False</TypeScriptRemoveComments>
<TypeScriptOutFile />
<TypeScriptOutDir />
<TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
<TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
<TypeScriptSourceMap>True</TypeScriptSourceMap>
<TypeScriptMapRoot />
<TypeScriptSourceRoot />

typings / tsd.d.ts

export * from './../node_modules/angular2/core';
export * from './../node_modules/angular2/common';
export * from './../node_modules/angular2/http';
export * from './../node_modules/angular2/router';
export * from './../node_modules/angular2/platform/browser';

Estructura de archivo:

app/
    app.ts
    components/
    models/
    services/
node_modules/ (npm install using Angular 2 quickstart's package.json)
    angular2/ (not all the files listed)
        bundles/ (not all the files listed)
            angular2.dev.js
        platform/
        src/
        ts/
        typings/
        common.d.ts
        core.d.ts
        http.d.ts
        router.d.ts
    es6-module-loader/
    es6-promise/
    es6-shim/
    rxjs/
    systemjs/
    zone.js/
    typescript/ (not sure if this needs to be here)

No estoy familiarizado con TypeScript, ¿podría haber un error causado por diferentes sistemas de módulos de Typecript? Angular 2 recomienda System.config configurarse conformat: 'register' perohttps://www.npmjs.com/package/angular2 dice que los archivos se pueden consumir usando CommonJs.

Con estos archivos, obtengo estos dos errores de consola:

app.ts:1 Uncaught ReferenceError: require is not defined(anonymous function) @ app.ts:1
angular2-polyfills.js:143 Uncaught TypeError: Cannot read property 'split' of undefined

Respuestas a la pregunta(5)

Su respuesta a la pregunta