angular项目中怎么给路径添加前缀?下面本篇文章给大家介绍一下angular项目路径添加指定的访问前缀的方法,希望对大家有所帮助!

开发多个项目的时候,我们希望能通过指定的前缀路径去访问不同的项目。比如,通过前缀 /projectA/ 去访问项目 A;通过前缀 /projectB/ 去访问项目 B。我们应该怎么设置呢?
这里使用的框架是 Angular,”@angular/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教程》】
更改 angular.json 的输出文件:
{ "projects": { ... { "outputPath": "jimmy" } }}
3. 更改挂载文件的 base href
默认情况下,挂载的文件 index.html 一般长这样:
AI建筑知识问答
用人工智能ChatGPT帮你解答所有建筑问题
22 查看详情
Jimmy
我们是要将 变成 。但是,我们不能手动更改挂载文件。因为只要构建后的文件更改即可,所以我们可以在 package.json 文件中完成这一步。只需要添加 --base-href=/jimmy/ 即可,如下:
"scripts": { "build": "ng build --base-href=/jimmy/"}
运行 npm run build 打包后得到的文件夹 jimmy 下的 index.html 文件中的 base 标签自然会更改。
至此,我们已经更改完了访问的项目前缀,那么我们要部署到服务器上进行访问,是要怎么做呢?
部署项目
这里假设我已经将打包后的 jimmy 资源上传到了服务器,并且用 nginx 作为代理。
本项目是个 SPA 项目。MPA 项目的讲解会放在下一篇文章,相关项目使用技术是
next.js,敬请期待
这里,我们需要更改 nginx.config 中的 server 字段:
server { listen 80 default_server; root /usr/share/nginx/fe/; // 打包的文件存放的位置 location /jimmy/ { index index.html index.htm; try_files $uri $uri/ /jimmy/index.html; }}
执行 nginx -s reload 使得配置生效。通过 http://domain.com/jimmy/index.html 就可以访问到项目 jimmy 了。
更多编程相关知识,请访问:编程入门!!
以上就是详解Angular项目中怎么给路径添加指定访问前缀的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/543059.html
微信扫一扫
支付宝扫一扫