Ошибка XHR (404) при загрузке angular2 / forms

Я пытаюсь использовать angular2 в режиме, отличном от npm (на сервере Tomcat). На стороне сервера используется java-spring, начиная с индексной страницы, которая загружает зависимые сценарии.

В моем index.html импорт выглядит следующим образом:

<script src="https://code.angularjs.org/2.0.0-beta.9/angular2-polyfills.js"></script>
<script src="https://code.angularjs.org/tools/system.js"></script>
<script src="https://code.angularjs.org/tools/typescript.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.9/Rx.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.9/angular2.dev.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.9/http.dev.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.9/router.dev.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.9/testing.dev.js"></script>

Типовые скрипты сконфигурированы в System.js как

<script>
    System.config({
        transpiler: 'typescript',
        typescriptOptions: { emitDecoratorMetadata: true },
        packages: {'app': {defaultExtension: 'ts'}}
    });
    System.import('app/main.browser')
          .then(null, console.error.bind(console));
</script>

Остальные ссылки на модули работают, кроме форм, модули импортируются как,

import { NgModule } from "angular2/core";
import { CommonModule } from "angular2/common";
import {
    FormsModule,
    ReactiveFormsModule
} from "angular2/forms";

При загрузке файла индекса зубьев я получаю следующее исключение:

angular2-polyfills.js:1243 Error: XHR error (404) loading http://localhost:8080/angular2/forms
    Error loading http://localhost:8080/angular2/forms as "angular2/forms" from http://localhost:8080/app/schema-form/schema-form.module.ts
    at o (https://code.angularjs.org/tools/system.js:4:12694)
    at XMLHttpRequest.I.s.onreadystatechange [as _onreadystatechange] (https://code.angularjs.org/tools/system.js:4:13219)
    at Zone.run (https://code.angularjs.org/2.0.0-beta.9/angular2-polyfills.js:1243:24)
    at XMLHttpRequest.zoneBoundFn (https://code.angularjs.org/2.0.0-beta.9/angular2-polyfills.js:1220:26)

Любые указатели на это приветствуются.


person Anindya Bhattacharya    schedule 12.12.2016    source источник


Ответы (1)


import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';

Я думаю, вам следует импортировать из @angular/core, а не из angular2/core. теперь его @ angular / core, поэтому измените его.

person Amit kumar    schedule 12.12.2016
comment
@angular работает, я включаю угловую зависимость как @ angular / core: ^ 2.0.0, у меня работает изменение @ angular / forms на @ angular / http, не знаю, почему для 2.0.0-beta.9 это зарегистрирован таким образом. - person Anindya Bhattacharya; 14.12.2016
comment
ну, вы не упомянули, что у вас проблемы с http. И не было кода, чтобы это проверить. @ angular / forms и @ angluar / http не связаны. это разные вещи. Если вы сохраните оба, то тоже будет работать. раньше мы импортировали из angular2 / core, теперь мы используем только @angular. Не забудьте отметить ответ как правильный, для людей, у которых в будущем возникнет такая же проблема! :) - person Amit kumar; 14.12.2016