在我的Angular项目中,我使用以下命令来构建Angular项目:
ng build --base-href='/mysubfolder/'
mysubfolder是提供Angular站点的路径,即https:/myotherdomain/mysubfolder
myotherdomain ==其他站点mysubfolder ==服务和部署Angular项目的站点
ng build——base-href='/mysubfolder/'命令将在每个页面的base href标签中添加/mysubfolder/text:
目前网站运行正常。当我扩展这个应用,使用https://scully.io/来渲染Angular应用时,问题就出现了。当我使用以下命令来渲染应用时:
npx scully --
它抱怨了这么多奇怪的错误相关的handleUnknownRoute:
⚠ handleUnknownRoute: "/mysubfolder/runtime.1e1f2c39fa49cf1c.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/polyfills.f7e3195ab4ce45af.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/main.918200bb3d790082.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/scripts.c48a99ff2e89312c.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/styles.6869685dcbc594de.css", 404:""
⚠ handleUnknownRoute: "/mysubfolder/runtime.1e1f2c39fa49cf1c.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/polyfills.f7e3195ab4ce45af.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/runtime.1e1f2c39fa49cf1c.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/polyfills.f7e3195ab4ce45af.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/main.918200bb3d790082.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/scripts.c48a99ff2e89312c.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/styles.6869685dcbc594de.css", 404:""
⚠ handleUnknownRoute: "/mysubfolder/polyfills.f7e3195ab4ce45af.js", 404:""
⚠ handleUnknownRoute: "/mysubfolder/main.918200bb3d790082.js", 404:""
Scully无法渲染他们的应用。
你能分享一下如何修复我可以在顶部显示sully的应用程序的部分吗?
当我用ng build命令构建angular项目时,Scully没有问题,即没有任何子目录,只有当我用ng build——base-href='/mysubfolder/'命令构建angular项目时,问题才会出现。
你能分享一下我缺少的让Scully用子目录服务预渲染Angular应用的设置吗?
如何解决handleUnknownRoute错误?
当您运行Scully时,它需要为您的应用程序服务。当您使用CLI的base-href选项时,它将更新index.html,但目标仍然是./dist/myApp
,它被复制到Scully服务器中并将失败。(因为没有子文件夹)。
简单的解决方案是使用scully-base-href-rewrite
同样,你可以重命名你的目录,但这至少会让人困惑。