Angular2快速入门 - '无法获取'消息

时间:2016-01-14 21:39:09

标签: javascript node.js angular

我一直在尝试为Angular2做快速入门指南。我按照快速指南中的说明做了例子。但是,当我运行它时,它显示以下消息'无法获取'。有谁知道为什么会这样?

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'行打开浏览器并显示'Can not Get'

10 个答案:

答案 0 :(得分:54)

当index.html不在正确的文件夹中时,我收到此错误。

如果是这种情况,将它放在主角度项目的根文件夹中可以解决错误。

答案 1 :(得分:7)

背景

我遇到了同样的问题:每页都有Cannot GET / pagename。我搜索了互联网,但没有找到像这样的解决方案。

我的项目位于一个带有ASCII空格的文件夹中,因为存储库名称也包含空格。

答案

项目所在的文件夹不应包含任何空格或ASCII字符“%20”。

enter image description here

完成此更改后,我的项目未显示<target name="run-persister-junit"> <mkdir dir="testReports"/> <junit printsummary="yes" haltonfailure="yes"> <classpath> <pathelement location="java/lib/JUnit/junit-4.12.jar"/> <pathelement location="java/lib/JUnit/hamcrest-core-1.3.jar"/> <pathelement location="java/bin"/> </classpath> <formatter type="plain"/> <formatter type="xml"/> <batchtest fork="yes" todir="testReports"> <fileset dir="java/bin"> <include name="/**/*Test.class"/> </fileset> </batchtest> </junit> </target> 错误。

答案 2 :(得分:2)

我遇到了同样的问题,因为我忘记添加我们可以在教程的“最终结构”部分中看到的bs-config.json文件。 它应该包含:

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

答案 3 :(得分:1)

我弄清楚问题是什么。我的html文件中有一个额外的空间导致错误。我删除了额外的空间,它按预期工作。

答案 4 :(得分:1)

当您的角度项目无法编译时,无法获取/错误。因此,首先请确保您的角度代码没有任何错误,并且编译正确。只需使用以下命令:

ng serve

,它应该列出您的角度代码遇到的所有问题。

答案 5 :(得分:0)

我在Angular.io示例中遇到了同样的问题“minimal NgModule” 他们给了我们文件名中带有额外“0”的文件。 我通过仅将文件名“index.0.html”转换为“index.html”来解决了这个问题 它最终奏效了:))

答案 6 :(得分:0)

您需要在'src'文件夹所在的位置运行'ng serve'命令。

答案 7 :(得分:0)

如果您正在使用路线,请确保您有正确导入的组件指向&#34;&#34; (/ route)。

例如: { 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 { }

答案 8 :(得分:0)

我收到此错误只是因为我在angular-cli.json文件中进行了一些更改然后我运行了我的应用程序并收到了错误

 " Cannot GET / ".

然后我删除了angular-cli.json文件中所做的更改并运行了应用。它工作正常。

答案 9 :(得分:-1)

除了 Melaz 所说的之外,我在使用 HTML 文件时遇到了同样的问题(没有反应,有角度),我只是通过将文件名更改为 index.html 来解决问题