详解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
了。
本文网址:https://www.zztuku.com/detail-13939.html
站长图库 - 详解Angular项目中怎么给路径添加指定访问前缀
申明:本文转载于《掘金社区》,如有侵犯,请 联系我们 删除。
您还没有登录,请 登录 后发表评论!
提示:请勿发布广告垃圾评论,否则封号处理!!