返回顶部
首页 > 资讯 > 精选 >Angular项目中如何给路径添加指定访问前缀
  • 240
分享到

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

2023-07-05 08:07:27 240人浏览 泡泡鱼
摘要

这篇“angular项目中如何给路径添加指定访问前缀”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Angular项目中如何给

这篇“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.JSON 的输出文件:

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

3. 更改挂载文件的 base href

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

<!doctype html><html><head>  <meta charset="utf-8">  <title>Jimmy</title>  <base href="/">  <meta name="viewport" content="width=device-width, initial-scale=1">  <link rel="icon" type="image/x-icon" href="loGo.png"></head><body>  <app-root></app-root></body></html>

我们是要将 <base href="/"> 变成 <base href="/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项目中如何给路径添加指定访问前缀”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Angular项目中如何给路径添加指定访问前缀

本文链接: https://lsjlt.com/news/350717.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作