Ausführliche Erläuterung, wie man dem Pfad im Angular-Projekt ein bestimmtes Zugriffspräfix hinzufügt

青灯夜游
Freigeben: 2023-03-03 19:52:45
nach vorne
2127 Leute haben es durchsucht

Wie füge ich einem Pfad in einem Angular-Projekt ein Präfix hinzu? Im folgenden Artikel erfahren Sie, wie Sie dem Angular-Projektpfad ein bestimmtes Zugriffspräfix hinzufügen. Ich hoffe, er ist hilfreich für Sie!

Ausführliche Erläuterung, wie man dem Pfad im Angular-Projekt ein bestimmtes Zugriffspräfix hinzufügt

Bei der Entwicklung mehrerer Projekte hoffen wir, über bestimmte Präfixpfade auf verschiedene Projekte zugreifen zu können. Verwenden Sie beispielsweise das Präfix/projectA/, um auf ProjektAzuzugreifen. Verwenden Sie das Präfix/projectB/, um auf ProjektB zuzugreifen. Code>. Wie sollen wir es einrichten? /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/" } ] })
Nach dem Login kopieren

2. 更改打包的文件

这一步非必需,我们这里只是统一一下名称为jimmy而已 【相关教程推荐:《angular教程》】

更改angular.json的输出文件:

{ "projects": { ... { "outputPath": "jimmy" } } }
Nach dem Login kopieren

3. 更改挂载文件的 base href

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

    Jimmy    
Nach dem Login kopieren

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

"scripts": { "build": "ng build --base-href=/jimmy/" }
Nach dem Login kopieren

运行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; } }
Nach dem Login kopieren

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

Das hier verwendete Framework ist Angular, "@angular/core": "~12.1.0"

Projektpräfix ändern

Angenommen, das von uns hinzugefügte Präfix ist/jimmy/
1. Routing-Präfix ändernFügen Sie APP_BASE_HREFin der Datei app.module.tshinzu: rrreee 2. Ändern Sie die gepackte Datei
Dieser Schritt ist nicht notwendig, wir haben hier nur den Namen jimmy vereinheitlicht Code > Das ist es [Empfehlung für ein entsprechendes Tutorial: „Angular-Tutorial"]
Ändern Sieangular.json: rrreee 3. Ändern Sie die Basis-HREF der bereitgestellten Dateispan> Standardmäßig sieht die gemountete Dateiindex.htmlnormalerweise so aus: rrreeeWir möchtenin ändern . Wir können die Mount-Datei jedoch nicht manuell ändern. Da nur die Post-Build-Datei geändert werden muss, können wir dies in der Dateipackage.jsontun. Fügen Sie einfach--base-href=/jimmy/wie folgt hinzu: rrreeeFühren Sienpm run buildaus, um den Ordnerjimmy zu erhalten, den Sie erhalten Verpackung Das Tag basein der Dateiindex.htmlunter code> ändert sich natürlich. Zu diesem Zeitpunkt haben wir das Präfix des Projekts, auf das zugegriffen wurde, geändert. Was sollten wir also tun, wenn wir es für den Zugriff auf dem Server bereitstellen möchten?

Bereitstellungsprojekt

Hier wird davon ausgegangen, dass ich die gepacktejimmy-Ressource auf den Server hochgeladen undnginxverwendet habe als Schauspiel.
Dieses Projekt ist ein SPA-Projekt. Die Erläuterung des MPA-Projekts wird im nächsten Artikel veröffentlicht. Die im entsprechenden Projekt verwendete Technologie ist next.js, also bleiben Sie dran
Hier müssen wirnginx.configserver-Feld: rrreeeFühren Sienginx -s reloadaus, damit die Konfiguration wirksam wird. Sie können überhttp://domain.com/jimmy/index.htmlauf das Projektjimmyzugreifen. Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Einführung in die Programmierung! !

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung, wie man dem Pfad im Angular-Projekt ein bestimmtes Zugriffspräfix hinzufügt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!