当前位置: 代码网 > it编程>前端脚本>AngularJs > Angular 项目路径添加指定的访问前缀

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

2024年05月18日 AngularJs 我要评论
前言开发多个项目的时候,我们希望能通过指定的前缀路径去访问不同的项目。比如,通过前缀 /projecta/ 去访问项目 a;通过前缀 /projectb/ 去访问项目 b。我们应该怎么设置呢?这里使用

前言

开发多个项目的时候,我们希望能通过指定的前缀路径去访问不同的项目。比如,通过前缀 /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 lang="en">
<head>
  <meta charset="utf-8">
  <title>jimmy</title>
  <base href="/" rel="external nofollow" >
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="logo.png" rel="external nofollow" >
</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 了。

thanks for reading.

以上就是angular 项目路径添加指定的访问前缀的详细内容,更多关于angular 路径访问前缀的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com