gpt4 book ai didi

Angular 5 应用程序未显示在 Github 页面上

转载 作者:行者123 更新时间:2023-12-02 12:47:35 27 4
gpt4 key购买 nike

我使用 CLI 创建了默认的 Angular 应用程序,如下所示:

ng new ng-test-deploy

测试将虚拟应用程序部署到 Github 页面。我运行了定义的过程 here总而言之,它的作用是:

ng build --prod --base-href "https://USERNAME.github.io/REPOSITORY_NAME/"
angular-cli-ghpages

完成此操作后,我访问了该页面并收到一个空白页面。在控制台中存在多个有关加载文件的错误:

enter image description here

如果我检查 main.bundle.js 的 url,我可以看到该路径指向 https://katana24.github.io/main.3188de4880a80d258168.bundle.js而我可以通过将存储库名称添加到 url 中来加载它,如下所示: https://katana24.github.io/ng-test-edeploy/main.3188de4880a80d258168.bundle.js

我是不是搞砸了一步?

上一个questions'答案建议删除 base-href="..." 值,但这对我来说没有意义。那么我如何让它在正确的位置查找呢?

最佳答案

感谢@ochs.tobi 和@funkizer 的帮助。所以,是的,base href 对于该项目来说是不正确的。

我要做的第一件事是将 index.html 中的 href 更新为我的项目名称。

之后,我需要为生产环境重建应用程序,并且仅将项目名称作为 href:

 ng build --prod --base-href "ng-test-deploy"

然后导航到该网站,大约 30 秒后,显示了我想要的内容。

编辑

经过更多研究后,我觉得这是一个更好的选择。在 angular-cli.json 内部,您可以为不同的目的定义不同的应用程序 - 也许一个用于生产、登台等。如下所示:

"apps": [
{
"name": "app-dev",
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.css"
],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
},
{
"name": "app-production",
"baseHref": "/ng-test-deploy",
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"favicon.ico"
],
"index": "index.html",
"main": "main.ts",
"polyfills": "polyfills.ts",
"test": "test.ts",
"tsconfig": "tsconfig.app.json",
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.css"
],
"scripts": [],
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],

在每个对象中,您都可以看到您喜欢的任何内容的base-href。然后要构建它(在本例中是 app-product 应用程序),请执行以下操作:

ng build --prod --base-href "ng-test-deploy" --app app-production

它将根据其 href 构建用于生产的目标应用程序。省略上面的基本 href 标记会导致与我上面描述的相同的错误,并且是需要的。

关于Angular 5 应用程序未显示在 Github 页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49092864/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com