使用Express和Angular构建一个简单的Web应用程序

使用Express和Angular构建一个简单的Web应用程序

Web应用程序是运行在Web服务器上并通过互联网通过Web浏览器访问的软件应用程序。Web应用程序可以设计用于执行各种功能,例如允许用户创建和编辑文档、管理财务、购买产品和访问社交网络。Web应用程序可以使用各种技术构建,包括HTMLCSS、JavaScript以及各种Web开发框架如Angular、React和Vue.js。

Express是一个流行的用于Node.js的Web应用程序框架,Node.js是一种让开发人员在服务器端运行JavaScript代码的JavaScript运行时。Express旨在使创建和管理Web应用程序变得简单,并且通常用于构建Web应用程序的后端,或全栈Web应用程序的服务器端。Angular是一个流行的用于构建Web应用程序的JavaScript框架,而Express则是一个简洁灵活的Node.js Web应用程序框架。这两个框架共同使我们能够使用无缝的开发体验创建强大而动态的Web应用程序。在本文中,我们将使用Angular和Express构建一个应用程序。

在我们开始构建应用程序之前,我们需要设置Angular和Express。下面是详细的安装步骤:

步骤1:设置项目

首先,我们将创建一个新的项目目录并将其初始化为npm包。打开您的终端并导航到您想要创建项目的位置。运行以下命令以创建一个新目录:

mkdir my-app
JavaScript

您可以使用您选择的名称替换 my-app。 然后,使用以下命令导航到新目录:

cd my-app
JavaScript

通过运行以下命令,将其初始化为npm包:

npm init -y
JavaScript

这将在您的项目根目录中创建一个 package.json 文件,其中包含有关您的项目及其依赖项的所有必要信息。

步骤2:安装Angular和Express

接下来,我们将为项目安装Angular和Express。执行以下命令来安装Angular和Express:

npm install @angular/cli express
JavaScript

步骤3: 创建Angular客户端

我们将使用Angular CLI(命令行界面)来创建Angular客户端。运行以下命令生成一个新的Angular项目:

ng new client  
JavaScript

项目结构: 在完成安装过程后,将显示以下结构:

使用Express和Angular构建一个简单的Web应用程序

步骤4:创建Express服务器

现在,我们将创建Express服务器。在您项目的根目录下创建一个名为“server.js”的新文件。在这个文件中,我们将设置我们的Express服务器。首先,我们将更新Express服务器以处理来自Angular客户端的请求。在“server.js”文件中,添加以下代码来处理CORS(跨域资源共享)并允许Angular客户端向Express服务器发送请求:

  • server.js
const express = require('express'); 
const app = express(); 
  
// handling CORS 
app.use((req, res, next) => { 
    res.header("Access-Control-Allow-Origin",  
               "http://localhost:4200"); 
    res.header("Access-Control-Allow-Headers",  
               "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 
  
// route for handling requests from the Angular client 
app.get('/api/message', (req, res) => { 
    res.json({ message:  
            'Hello GEEKS FOR GEEKS Folks from the Express server!' }); 
}); 
  
app.listen(3000, () => { 
    console.log('Server listening on port 3000'); 
});
JavaScript

步骤5:更新Angular客户端

接下来,我们将更新Angular客户端,使其请求Express服务器。在“src/app”目录中,创建一个名为“api.service.ts”的新文件。在这个文件中,我们将创建一个服务来处理对Express服务器的请求。

  • api.service.ts
import { Injectable } from '@angular/core'; 
import { HttpClient } from '@angular/common/http'; 
  
@Injectable({ 
    providedIn: 'root'
}) 
export class ApiService { 
    constructor(private http: HttpClient) { } 
    getMessage() { 
        return this.http.get( 
            'http://localhost:3000/api/message'); 
    } 
}
JavaScript

在这里,我们创建了一个具有单一方法“getMessage()”的服务,该方法向Express服务器的“/api/message”路径发出GET请求。您还需要将HttpClient模块导入到您的app.module.ts文件中,添加以下代码进行导入:

  • app.module.ts
import { NgModule } from '@angular/core'; 
import { BrowserModule }  
    from '@angular/platform-browser'; 
import { AppRoutingModule }  
    from './app-routing.module'; 
import { AppComponent } from './app.component'; 
import { HttpClientModule }  
    from '@angular/common/http'; 
  
@NgModule({ 
    declarations: [ 
        AppComponent 
    ], 
    imports: [ 
        BrowserModule, 
        AppRoutingModule, 
        HttpClientModule 
    ], 
    providers: [], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { }
JavaScript

步骤6:在Angular组件中使用服务

最后,我们将在Angular组件中使用服务来显示来自Express服务器的消息。在“src/app”目录中,打开“app.component.ts”文件。

  • app.component.ts
import { Component, OnInit } from '@angular/core'; 
import { ApiService } from './api.service'; 
  
@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent implements OnInit { 
    title = 'frontEnd'; 
    message: any; 
    constructor(private apiService: ApiService) { }; 
    ngOnInit() { 
        this.apiService.getMessage().subscribe(data => { 
            this.message = data; 
        }); 
    } 
}
JavaScript

步骤7:在Angular模板上显示消息

打开“src/app/app.component.html”文件,并添加以下代码以显示来自服务器的消息:

  • app.component.html
<h1 style="color: green;  
           font-style: italic;"> 
    GEEKS FOR GEEKS 
</h1> 
<h3> 
    Build a Simple Web App with Express & Angular 
</h3> 
<h5> 
    The below message is fetched from the express backend 
</h5> 
<p *ngIf="message"> 
    {{ message.message }} 
</p>
HTML

这将在Angular模板上显示来自Express服务器的消息。

步骤8:启动开发服务器

既然我们已经将Angular前端与Express后端整合在一起,我们可以启动开发服务器。要启动Angular开发服务器,请进入”client”目录并运行以下命令:

ng serve
JavaScript

这将启动开发服务器,并使你的Angular客户端在“http://localhost:4200/”上可用。

要启动Express服务器,请打开一个新的终端窗口并导航到你项目的根目录。运行以下命令:

node server.js
JavaScript

通过这个示例应用程序,您成功地将Angular前端与Express后端集成在一起。Angular客户端向Express服务器发出GET请求,后者返回一个包含消息的JSON对象。然后在Angular模板上显示该消息。

输出: 以下输出将由Angular和Express服务器显示:

Express:

使用Express和Angular构建一个简单的Web应用程序

Angular:

使用Express和Angular构建一个简单的Web应用程序

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册