Развернуть Angular 7 на страницах GitHub - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть простое приложение angular7, у которого есть только два маршрута, основной «статья».Он работает, если вы тестируете его локально, но когда вы помещаете на страницы github, он просто загружает css страницы.Я развернул в соответствии с угловой документацией в Документация , и я также попытался с помощью инструмента gh-pages.Но никто из них не работал.Если я уберу свои маршруты, это будет работать.

Это ошибка, которую я получаю на консоли.

1 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'blogfolio'
Error: Cannot match any routes. URL Segment: 'blogfolio'
    at t.noMatchError (main.5443131190bc79920d7b.js:1)
    at e.selector (main.5443131190bc79920d7b.js:1)
  ............

rodnorm.github.io/:1 Failed to load resource: the server responded with a status of 404 () 

Это мой код:

app.rounting.ts

import { MainComponent } from './main/main.component';
import { ArticleComponent } from './article/article.component';    
import { Routes } from "@angular/router";

export const routes: Routes = [

    {
        path: '', component: MainComponent
    },
    {
        path: 'article', component: ArticleComponent
    }
];

Это внутри articleList.component.html

<div class="post-preview" [routerLink]="['/article']">

Это app.routing.module

import { routes } from './app.routing';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Если вы, ребята, хотите проверить весь код здесь, то это repo и вот ссылка deploy .

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Я обнаружил, что происходит!

Внутри моего /docs/index.html был базовый href, который был дан в тот момент, когда я запускал

ng build --prod --base-href <nameHere> 

, который не был родственникомURL-адрес.Мне пришлось добавить // в этом файле index.html к базовому href, вот как это выглядит:

 <base href="/blogfolio/">

Это заставило его работать.Я знаю, что хорошим ответом было бы добавление '/ blogfolio /' к hg build ng, но, похоже, это тоже не сработало.

Есть PR об этом здесь .

Спасибо за все, ребята!

0 голосов
/ 05 декабря 2018

Вы указали base-href?Я посмотрел репо и не нашел его в конфигурации проекта.Попробуйте добавить baseHref в вашу конфигурацию.

Просто пример фрагмента angular.json:

"outputPath": "wwwroot/dist",
"baseHref": "/dist/",
"deployUrl": "/dist/",
"index": "ClientApp/index.html",
"main": "ClientApp/main.ts",
"polyfills": "ClientApp/polyfills.ts",
"tsConfig": "ClientApp/tsconfig.app.json",
"assets": [
    "ClientApp/resources"
],
"styles": [
    "ClientApp/styles.scss"
],
"scripts": [
    "node_modules/jquery/dist/jquery.min.js",
    "node_modules/popper.js/dist/popper.min.js",
    "node_modules/bootstrap/dist/js/bootstrap.min.js"
]

Вы можете прочитать эту проблему для получения дополнительной информации.

...