web-dev-qa-db-ja.com

Angular2クイックスタート-「取得できません」メッセージ

私はAngular2のクイックスタートガイドをやろうとしています。クイックガイドの指示に従って例を実行しました。ただし、実行すると、次のメッセージ「Cannot Get」が表示されました。なぜこれが起こっているのか誰にも分かりますか?

boot.jsファイル

// JavaScript source code
(function (app) {
    document.addEventListener('DOMContentLoaded', function () {
        ng.platform.browser.bootstrap(app.AppComponent);
    });
})(window.app || (window.app = {}));

app.component.jsファイル

(function (app) {
    app.AppComponent = ng.core.Component({
        Selector: 'my-app',
        template: '<h1>My First Angular 2 App </h1>'
    })
    .class({
        constructor: function () { }
    });
})(window.app || window.app == {});

インデックスファイル

<html>

<head>
    <title>Angular 2 QuickStart</title>

    <!-- 1. Load libraries -->
    <script src="https://code.angularjs.org/2.0.0-beta.0/angular2-polyfills.js"></script>
    <script src="https://code.angularjs.org/2.0.0-beta.0/Rx.umd.js"></script>
    <script src="https://code.angularjs.org/2.0.0-beta.0/angular2-all.umd.dev.js"></script>

    <!-- 2. Load our 'modules' -->
    <script src='app/app.component.js'></script>
    <script src='app/boot.js'></script>

</head>

<!-- 3. Display the application -->
<body>
    <my-app>Loading...</my-app>
</body>

</html>

最後に、package.jsonファイル

{
  "name": "angular2-quickstart",
  "version": "1.0.0",
  "scripts": {
    "start": "npm run lite",
    "lite": "lite-server"
  },
  "license": "ISC",
  "dependencies": {
    "angular2": "2.0.0-beta.0",
    "systemjs": "0.19.6",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.0",
    "zone.js": "0.5.10"
  },
  "devDependencies": {
    "lite-server": "^1.3.1"
  }
}

ブラウザを開いて「取得できません」と表示された「npm start」行を実行しました

30
Josiane Ferice

私は問題が何であるかを理解しました。 HTMLファイルに余分なスペースがあり、エラーが発生していました。余分なスペースを削除しましたが、期待どおりに機能しました。

1
Josiane Ferice

Index.htmlが正しいフォルダーにないときにこのエラーが発生しました。

その場合は、メインのangularプロジェクトのルートフォルダに配置するとエラーが解決します。

54
Melaz

バックグラウンド

同じ問題が発生しました:Cannot GET / pagenameすべてのページに。インターネットを検索しましたが、このような解決策は見つかりませんでした。

リポジトリ名にもスペースが含まれていたため、プロジェクトはASCIIスペースが含まれるフォルダー内にありました。

回答

プロジェクトが存在するフォルダーには、スペースやASCII文字 "%20"を含めないでください。

enter image description here

この変更の後、私のプロジェクトはCannot GET / pagenameエラー。

7
Brampage

チュートリアルの「最終構造」の部分で確認できるbs-config.jsonファイルを追加するのを忘れたため、同じ問題が発生しました。以下を含む必要があります。

{
  "server": {
    "baseDir": "src",
    "routes": {
      "/node_modules": "node_modules"
    }
  }
}
2
SquirFly

angularプロジェクトがコンパイルに失敗すると、GETできません/エラーが発生します。そのため、まず、angularコードにエラーがないことを確認してください。次のコマンドを使用してください。

ng serve

angularコードが持っているすべての問題をリストする必要があります。

2
Vijay Jaiswal

Angular.ioの例「minimal NgModule」で同じ問題が発生しました。ファイル名に余分な「0」が含まれるファイルがありました。ファイル名「index.0.html」のみを「index.html」に変換することで問題を解決しました。

0
Tarek.Mostafa

「src」フォルダがある場所で「ng serve」コマンドを実行する必要があります。

0
Puneet Goel

ルートを使用している場合は、正しくインポートされたコンポーネントが「」(/ルート)を指していることを確認してください。

例:{ path: "", component: MyHomeComponent }

Angular 5インストールでのapp.module.tsの完全な例(Angular +2 ...と同じ)

import { BrowserModule } from "@angular/platform-browser";
import { NgModule } from "@angular/core";
import { FormsModule } from "@angular/forms";
import { HttpModule } from "@angular/http";
import { Routes, RouterModule } from "@angular/router";

import { AppComponent } from "./app.component";
import { CinemaService } from "./services/cinema.service";
import { MyHomeComponent } from "./components/my-home/my-home.component";
import { MyMovieComponent } from "./components/my-movie/my-movie.component";

const routes: Routes = [
  { path: "", component: MyHomeComponent },
  { path: "movie/:id", component: MyMovieComponent },

];

@NgModule({
  declarations: [
    AppComponent,
    MyHomeComponent,
    MyMovieComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    RouterModule.forRoot(routes)
  ],
  providers: [CinemaService],
  bootstrap: [AppComponent]
})
export class AppModule { }
0
Isak La Fleur

angular-cli.jsonファイルにいくつかの変更を加えただけでこのエラーが発生し、アプリを実行して次のエラーが発生しました。

 " Cannot GET / ".

次に、angular-cli.jsonファイルに加えられた変更を削除して、アプリを実行しました。それはうまく機能していました。

0
Cyril Edison