用平均堆栈构建天气应用程序:初学者的分步指南
简介:
在本文中,您将使用平均堆栈来构建天气应用程序的过程。平均堆栈是mongodb,express.js,angular和node.js。包括技术。通过遵循该综合指南,初学者可以学习如何将这些技术组合起来创建一个天气应用程序,该应用程序实时捕获和显示天气数据。
先决条件:
开始之前,请确保满足以下条件:
- HTML,CSS和JavaScript的基础知识
- 含义堆栈技术简介:MongoDB,Express.js, Angular和Node.js
- 您最喜欢的文本编辑器(例如Visual Studio代码)
- node.js和npm(节点软件包管理器)安装在您的设备上
步骤1:设置项目
- 为您的项目创建一个新目录,并使用命令行导航到它。
- 通过运行“ npm init -y”命令开始一个新的node.js项目。
- 通过运行以下命令来安装所需的依赖项:
- express.js:`npm express'
- mongoose(用于MongoDB集成):“ npm mongoose”
- 请求(提出API请求):“ NPM安装请求”
步骤2:创建后端服务器
- 通过创建一个名为“ server.js”的新文件来构建express.js服务器。
- 导入必要的模块:
冷0冷1 Cold0
- 使用Mongoose连接到MongoDB:
mongoose.connect('mongodb://localhost/air-app', {
useNewUrlParser: true
useUnifiedTopology: true
});
- 创建天气方案和模型以存储天气数据:
`
const架构=新的杂种。架构({
城市:线
温度:量
水分:数量,
风速:num
});
const天气= mongoose.model('天气',weatherschema);
`冷0
- 运行API端点以获取天气数据:
`
app.get('/api/weather/:city',(req,res)=> {
const apikey ='your_api_key';
const City = req.params.city;
const url = http://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${city}
;
请求(url,(错误,响应,身体)=> {
if(!error && response.statuscode === 200){
const data = json.parse(body);
const weather = new Weather({
city: data.location.name,
temperature: data.current.temp_c,
humidity: data.current.humidity,
windSpeed: data.current.wind_kph
});
air.save((false) => {
if (false) {
console.error(error);
}
});
res.json(data);
} else {
console.error(error);
res.sendStatus(500);
}
});
});
`冷0
- 通过将以下代码添加到“ server.js”文件的末尾来启动服务器:
`
const端口= 3000;
app.listen(port,()=> {
console.log(“端口{在端口上运行的服务器”);
});
`冷0
步骤3:使用Angular
创建前端应用程序- 全球安装Angular CLI:`npm install -G @angular/client'
- 通过运行“ Fresh-App-”来创建一个新的角度应用程序 前端”。
- 更改为项目目录:“ CD天气应用范围”
- 创建一个新组件以显示天气:“创建 天气部分“
- 打开生成的组件文件weather.component.ts和 这样更新代码:
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-weather',
templateUrl: './weather.component.html',
styleUrls: ['./weather.component.css']
})
export class WeatherComponent implements OnInit {
weatherData: any;
constructor(private http: HttpClient) { }
ngOnInit(): void {
this.getWeatherData('London');
}
getWeatherData(city: string): void {
this.http.get(`/api/weather/${city}`).subscribe(data => {
this.weatherData = data;
});
}
}
- *打开创建的组件模板文件 *
“ weather.component.html”并更新代码:
<div *ngIf="airData">
<h2> {{weatherData.location.name}} </h2>
<p>Temperature: {{weatherData.current.temp_c}} °C</p>
<p>Humidity: {{weatherData.current.humidity}}%</p>
<p>Wind speed: {{weatherData.current.wind_kph}} kph </p>
</div>
- 更新“ app.component.html”文件以包括空气组件:
<app-weather> </app-weather>
- 使用以下方式启动Angular开发服务器
"ng service" command
结果:
恭喜!您已经成功地使用了平均堆栈构建了天气应用程序。本教程涵盖了如何使用Express.js和MongoDB构建后端服务器的步骤,以及使用Angular创建前端应用程序。通过遵循本指南,新手可以对如何集成平均堆栈技术以创建天气兼容的应用程序有价值的见解。