Ответ 1
Я понял, в чем проблема. У меня было дополнительное место в моем html файле, который вызывал ошибку. Я удалил дополнительное пространство, и он работал, как ожидалось.
Я пытался сделать краткое руководство для Angular2. Я сделал пример, как указано в кратком руководстве. Однако, когда я запустил его, он отобразил следующее сообщение "Can not 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", которая открыла браузер и отобразила "Can not Get"
Я понял, в чем проблема. У меня было дополнительное место в моем html файле, который вызывал ошибку. Я удалил дополнительное пространство, и он работал, как ожидалось.
Я получил эту ошибку, когда index.html не был в правильной папке.
Если это так, поместите его в основную корневую папку проекта angular, чтобы устранить эту ошибку.
У меня была та же проблема: Cannot GET / pagename
на каждой странице. Я искал в Интернете, но не нашел такого решения, как этот.
Мой проект находился внутри папки с пробелами ASCII, так как имя репозитория также содержало пробелы.
В папке, в которой находится ваш проект, не должно быть пробела или символа ASCII "%20".
После этого изменения мой проект не дал ошибку Cannot GET / pagename
.
У меня была такая же проблема, потому что я забыл добавить файл bs-config.json
, который мы можем увидеть в части "Окончательная структура" учебника.
Он должен содержать:
{
"server": {
"baseDir": "src",
"routes": {
"/node_modules": "node_modules"
}
}
}
У меня была такая же проблема с Angular.io example "minimum NgModule" Они дали нам файлы с дополнительным "0" в именах файлов. Я решил проблему, преобразовывая только имя файла "index.0.html" в "index.html" Наконец он работал:)
Вам нужно запустить команду "ng serve", где находится папка "src".
Если вы используете маршруты, убедитесь, что у вас есть правильно импортированный компонент, указывающий на "" (/route).
Пример:
{ path: "", component: MyHomeComponent }
Полный пример app.module.ts
в установке Angular 5 (тот же самый из 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 { }