Angular项目路径如何添加指定的访问前缀

免费教程   2024年05月09日 10:58  

这篇文章主要介绍了Angular项目路径如何添加指定的访问前缀的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Angular项目路径如何添加指定的访问前缀文章都会有所收获,下面我们一起来看看吧。

开发多个项目的时候,我们希望能通过指定的前缀路径去访问不同的项目。比如,通过前缀 /projectA/ 去访问项目 A;通过前缀 /projectB/ 去访问项目 B。我们应该怎么设置呢?

这里使用的框架是 ,"@/core": "~12.1.0"

更改项目前缀

假设我们添加的前缀为 /jimmy/

1. 更改路由前缀

在 app.module.ts 文件中添加 APP_BASE_HREF:

import{APP_BASE_HREF}from'@angular/common';@NgModule({providers:[{provide:APP_BASE_HREF,useValue:"/jimmy/"}]})

2. 更改打包的文件

这一步非必需,我们这里只是统一一下名称为 jimmy 而已

更改 angular.json 的输出文件:

{"projects":{...{"outputPath":"jimmy"}}}

3. 更改挂载文件的 base href

默认情况下,挂载的文件 index.html 一般长这样:

<!doctypehtml><htmllang="en"><head><metacharset="utf-8"><title>Jimmy</title><basehref="/"rel="externalnofollow"><metaname="viewport"content="width=device-width,initial-scale=1"><linkrel="icon"type="image/x-icon"href="logo.png"rel="externalnofollow"></head><body><app-root></app-root></body></html>

我们是要将 <base href="/"> 变成 <base href="/jimmy/">。但是,我们不能手动更改挂载文件。因为只要构建后的文件更改即可,所以我们可以在 package.json 文件中完成这一步。只需要添加 --base-href=/jimmy/ 即可,如下:

"scripts":{"build":"ngbuild--base-href=/jimmy/"}

运行 npm run build 打包后得到的文件夹 jimmy 下的 index.html 文件中的 base 标签自然会更改。

至此,我们已经更改完了访问的项目前缀,那么我们要部署到服务器上进行访问,是要怎么做呢?

部署项目

这里假设我已经将打包后的 jimmy 资源上传到了服务器,并且用 nginx 作为代理。

本项目是个 SPA 项目。MPA 项目的讲解会放在下一篇文章,相关项目使用技术是 next.js ,敬请期待

这里,我们需要更改 nginx.config 中的 server 字段:

server{listen80default_server;root/usr/share/nginx/fe/;//打包的文件存放的位置location/jimmy/{indexindex.htmlindex.htm;try_files$uri$uri//jimmy/index.html;}}

执行 nginx -s reload 使得配置生效。通过 http://domain.com/jimmy/index.html 就可以访问到项目 jimmy 了。

关于“Angular项目路径如何添加指定的访问前缀”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Angular项目路径如何添加指定的访问前缀”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部