Node第一个应用

2.Node.js 创建第一个应用 在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的: 引入 required 模块:我们可以使用require指令来载入 Node.js 模块。 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。 接收请求与响应请求服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。 创建 Node.js 应用 步骤... 阅读详情

Node的第一个应用

node+express+showapi(今日油价查询)

应用简介

这是一个查询工具应用,主要目的是实时查询今日油价,提供了全国省市输入查询。获取今日油价包括(p0、89、90、92、93、95、97)。采用了Node.js构建web端并通过易源提供的免费接口获取数据信息。

项目主框架:Express 简介

Express 是一个非常流行的node.js的web框架。基于connect(node中间件框架)。提供了很多便于处理http请求等web开发相关的扩展。
Express的特性
1.基于Connect构建
2.健壮的路由
3.提供丰富的HTTP处理方法
4.支持众多视图模板引擎(14+)
5.内容协商
6.专注于提供高性能
7.环境基于配置
8.快速构建可执行的应用程序
9.高测试覆盖率

前端工具

jquery、layer

项目组织结构

这里写图片描述

NPM - Node.js 模块依赖管理工具

npm是管理node.js模块依赖的工具,依赖于开源技术的优势就是你有非常多的优秀库可以帮助你快速构建一个系统,但就像一把双刃剑,由于开源导致版本的升级不可控。这时,一个集中性的模块依赖管理工具的优势就十分明显。它负责帮你管理开源项目的版本,你只需要添加对某个开源模块的依赖即可
npm 在window环境下升级:
这里写图片描述
使用npm安装模块:
这里写图片描述
全局安装和本地安装
本地安装
1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
2. 可以通过 require() 来引入本地安装的包。
全局安装
1. 将安装包放在 /usr/local 下或者你 node 的安装目录。
2. 可以直接在命令行里使用。

项目细节

express的安装与使用

这里写图片描述
通过命令行创建express应用
这里写图片描述
express应用便创建完成,可以通过cd 进入目录下,npm start 启动项目
localhost:3000访问本地应用路径。

ejs

功能简介:embered.jsjavascript 模板引擎(可以跟express集成,作为服务端模板引擎)
主页地址:https://github.com/visionmedia/ejs

使用ejs将jade文件修改为html后缀
这里写图片描述
express路由配置
这里写图片描述

易源接口

https://www.showapi.com/
1.账户申请注册。
2.应用接口申请。
3.node 应用安装。
这里写图片描述
请求实例:(nodeServer.js)

'use strict';
/*
要单独运行该测试请使用npm安装mocha模块,
然后在包目录下在运行命令: mocha example_test.js
 */
var assert = require('assert');
var showapiSdk = require('showapi-sdk');
//设置你测试用的appId和secret,img
var appId='刚才申请的appid';
var secret='刚才申请secret';
var img='null';

//开启debug
//showapiSdk.debug(true);

if(!(appId&&secret&&img)){
  console.error('请先设置appId等测试参数,详见样例代码内注释!')
  return;
}

//全局默认设置
showapiSdk.setting({
  url:'http://route.showapi.com/138-46',//你要调用的API对应接入点的地址,注意需要先订购了相关套餐才能调
  appId:appId,//你的应用id
  secret:secret,//你的密钥
  timeout:5000,//http超时设置
  options:{//默认请求参数,极少用到
    testParam:'test'
  }
})
//node模块化处理
module.exports = { 
    getDataInfo: function(prov,callBack){ 
        var request=showapiSdk.request('http://route.showapi.com/138-46',appId,secret);
        request.appendText('prov',prov);
        var dataTest = {};
        request.post(function(data){
          assert(data.showapi_res_code==0,"接口返回系统错误:"+data.showapi_res_error);
          dataTest = data.showapi_res_body.list;
          //callBack(JSON.stringify(dataTest));
          callBack(dataTest);
        });
        return dataTest;
    }
}

在express框架中的调用

var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

router.route("/search").get(function(req,res){    // 到达此路径则渲染register文件,并传出title值供 register.html使用
    res.render("search",{title:'油价查询',message:""});
}).post(function(req,res){
    //console.log(req.body);
    var _send = function(data){
        //res.send不能做为参数直接传递,指针指向问题??
        res.send(data);
    };
    if(req.body){
        //global.nodeServer.getDataInfo(req.body.test,console.log);
        global.nodeServer.getDataInfo(req.body.cityName,_send);
        //res.send([{"name":"test"}]);
    }

});

module.exports = router;

前端请求

/* umd模式
 * 
 * window.mySearch为全局变量公开接口
 *
 */
(function (window, factory) {
    if (typeof exports === 'object') {

        module.exports = factory();//node
    } else if (typeof define === 'function' && define.amd) {

        define(factory);//amd
    } else {

        window.mySearch = factory();
    }
})(this, function () {
   var search = function(cityName){
         $.ajax({ 
            url: '/search',
            type: 'post',
            data: {
                cityName:cityName
            },
            success: function(data,status){ 
                if(data.length>0){
                    //当前城市
                    $(".searchCity").text(data[0].prov);
                    //当前日期
                    $(".timeNow").text(data[0].ct);
                    $(".skill-bar-percent").each(function(){
                        var oilName = $(this).attr("itemOil");
                        for(var itemName in data[0]){
                            if(oilName == itemName){
                                var singlePirce = data[0][itemName];
                                $(this).prev(".skillbar-bar").find("p").text(data[0][itemName]);
                                var pret = parseInt(singlePirce*10) +"%";
                                $(this).parent(".skillbar").attr('data-percent',pret);
                            }
                        }
                    });
                    $('.skillbar').each(function(){
                        //滚动条滚动
                        $(this).find('.skillbar-bar').animate({
                            width:$(this).attr('data-percent')
                        },4000,'swing');
                        //数字叠加
                        var numOil = $(this).find(".wh_num").text();
                        var that = $(this);
                        var time = 3;
                        var timeSet = setInterval(function(){
                            console.log(time);
                            if(time<numOil){
                                time = time + 0.01;
                                that.find(".wh_num").text(time.toFixed(2));
                                if(time >= numOil){
                                    clearInterval(timeSet)
                                }
                            }
                        },10);
                    });
                }else{
                    layer.msg("没有查询到您输入的城市哦");
                }
            },
            error: function(data,err){ 

            }
        }); 
   }
   return {
    search:search
   }
});

展示效果

这里写图片描述

源码查询:
https://github.com/aladdingod/nodeSerach_Oil

你的第一个Node.js应用:Hello World 为什么从Hello World开始?它源于1978年的《C程序设计语言》,象征最小可运行程序。在Node.js中,这意味着理解REPL(Read-Eval-Print Loop)、脚本执行和模块系统——这些是构建API、CLI工具或微服务的基石。到本文结束,你将能自信地运行、调试和扩展简单脚本。准备好你的代码编辑器(如VS Code,推荐Node.js扩展)和终端,让我们开始! 阅读详情

相关推荐

Node.js第一个应用HelloWorld

--

西安极客联盟 3375

nodejs之Buffer(缓冲区)

参考:http://www.runoob.com/nodejs/nodejs-buffer.htmlJavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。...

代码解释生活 895

ArcGIS拓扑面错误批量修改

在工作学习中经常会遇到拓扑修改的问题,当数据量巨大的时候会产生拓扑问题 当拓扑错误数量巨大时,人工逐一修改是不现实的,基于此利用gis自带工具箱实现拓扑面类错误的批量修改。 一、.常见拓扑错误的类型: 1面重叠 2空隙(绿色部分) 二、拓扑检查 1新建数据库-----新建数据集—导入数据. 2新建拓扑 3修改拓扑容差及名称 添加拓扑修改规则 完成拓扑检查-查看拓扑错误 三、拓扑批量...

qq_43173805的博客 3万+

node.js学习——初始node,node基本介绍,环境安装,运行第一个node程序。

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。

qq_41497756的博客 813

1448•纯粹素数

纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。对于每一个数(无论质数合数)x,筛掉所有小于x最小质因子的质数乘以x的数。但我们知道,我们选择的那个质数必须小于那个合数的最小质因子。p3,因为p2>p1,所以这样是筛不到的。唯一会筛的是第一种:p1和p2*p3。c,s肯定小于刚才那个合数,说明肯定对于它已经筛过,然后a肯定小于s,因为s=b。p3,并且保证p1<p2<p3。我们知道,筛掉这个合数的机会有:p1和p2。c,并且a是最小的因子。

SSL_bin的博客 591

【AI 编程工具进阶用法】如何在Cursor、Trae等工具中使用Skills

OpenSkills是一个开源项目,用于在Cursor、Trae等AI编程工具中添加可复用、可组合的"能力模块"。安装流程包括:1)全局安装OpenSkills CLI工具;2)选择安装Anthropic官方Skills到项目或全局;3)创建AGENTS.md文件同步Skills;4)在AI工具中调用Skills。此外还介绍了UI/UX Pro Max Skill项目,通过npm安装后可为AI添加设计能力。这些Skills相当于为AI工具安装"高级技能包"

肌肉金轮的博客 3546

NodeJS - 第一个应用程序Hello World

安装NodeJs 在创建实际的“Hello,World!”应用之前,我们应该先安装NodeJS,安装NodeJS可以访问NodeJS官网,下载相应系统的NodeJS的安装包,进行安装。 程序组件 关于Hello World 这个应用主要包括三部分组成 导入所需的模块 -在程序中我们使用require指令来加载NodeJS模块 创建服务器 -一个将监听类似于Apache HT...

奋斗在路上 1万+

紫光同创PDS软件操作指南:如何为FPGA新增自定义Flash型号

本文详细介绍了在紫光同创PDS软件中为FPGA新增自定义Flash型号的完整操作指南。针对官方支持列表之外的SPI Flash芯片,文章从理解FPGA配置逻辑入手,逐步讲解如何通过扫描Flash ID、在Flash Operator中精准填写参数、转换.sbit文件,最终完成固化的全过程,并分享了高级技巧与常见问题排查方法,帮助工程师摆脱对预设型号的依赖,实现灵活选型。

weixin_29204749的博客 327

Node的第一个应用

在写第一个node应用之前,首先需要先安装Node,这个可以到官网下载安装即可。 查看版本,确定是否安装成功。 使用VScode编辑器新建文件夹first-app,在文件夹下新建一个文件app.js。 在文件中输入代码,在终端中执行命令,由JavaScript引擎执行。 //node后面的参数就是要执行的文件,文件名。 node app.js 复制代码 接下来将上面的代码修改下,打印下win...

weixin_33755554的博客 118

人类肠道微生物群落代谢建模

MICOMWeb 是款用户友好型网站,专为人类肠道微生物群落代谢建模设计。该网站旨在解决基因组尺度代谢模型(in silico)构建过程中的3大限制:① 使用 MICOM Python 包进行通量平衡分析时对用户 Python 编程知识的要求;② 支持预定义和用户自定义饮食,以生成专属代谢模型;③ 处理宏基因组鸟枪法测序或 16S 扩增子测序获得的真实丰度数据时,所需的高通量计算基础设施。本文展示了 MICOMWeb 的核心功能,用户可轻松开展虚拟实验,为3个已发表数据集的实验验证生成功能性假设。

多组・学・多组学 1172

手把手教你学Simulink实例--基于Simulink的电动汽车无线充电效率优化仿真

​市场规模:2025年全球无线充电市场规模将达$27亿(MarketsandMarkets数据)​技术标准Qi v1.3(最高150W)WiTricity(200W动态功率)ISO 17163(道路车辆无线充电)​节能效果:每kWh充电减少120W损耗(按每天8小时)​成本分析线圈成本:35vs58(传统方案)效率提升带来的续航增加:15km/100km。

xiaoheshang_123的博客 346

开始你的第一个node项目

网上有很多关于Node.js如何安装的教程,我这里只是记录一下,免得自己每次再找 一、安装nvm 在终端执行命令 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash 修改配置文件 ~/.bashrc ,在里面加入以下文字 export NVM_DIR="$HOME/.nvm" [ -...

li420520的博客 747

MIPI CPHY学习笔记02:TX物理层一致性测试项解析(HS信令模式)第一部分

在手机、平板等移动设备中,MIPI C-PHY是连接相机、显示屏等高速外设的“数据高速公路”。高速(HS)信令模式就是这条公路的“快车道”,专门用于传输高清图像、视频等大容量数据,既要保证传输速率,又要维持信号稳定。物理层一致性测试是对这条“快车道”的全面质检,确保高速传输下数据不卡顿、不失真。今天我们聚焦MIPI C-PHY TX(发射端)的Group 2 HS信令测试,用通俗语言拆解22个核心测试项(含2个过时项),看懂高速信号的合格标准。

一只豌豆象的博客 293

2.node.js的第一个应用

文章目录node.js的第一个应用node.js的组成创建node.js的应用总结端口号的一点小知识 node.js的第一个应用 node.js的组成 node.js主要由以下三部分组成: required模块:用于载入Node.js模块 服务器:用于监听客户端的请求 请求的接受和响应:使用node.js可以轻松创建服务器,客户端使用浏览器或者终端发送HTTP请求给服务器后,服务器进行接收并对其响应并返回响应数据。 创建node.js的应用 这里建议使用WebStorm进行编码(开发起来舒服),没有这个

越努力越幸运的博客 234

帆软报表开发-快速入门

数据可视化展示功能特点如下:选择权限管理 > 用户最终权限 > 汤姆(Tom) > 选择图表设计入门 > 打开查看权限。

郭宝的博客 5973

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Node.js的第一个应用

上一篇介绍了Node.js的环境的搭建。本篇介绍第一个应用测试案例,程序界的启蒙课“Hello World”,这是一种“信仰”,哈哈。 首先,创建test.js脚本。引入http模块,创建服务器并设置好监听。 var http = require('http'); http.createServer(function (request, response){ response.writeHead(200, { 'Content-Type': 'text/plain' }); response.en

成长ing中的w的专栏 206

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Node.js二:第一个Node.js应用

创建的时候我们需要用到VS code编写代码 我们先了解下 Node.js 应用是由哪几部分组成的: 1.引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。 2.创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。 3.接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。 //导入模块是require,类似于import const http = requ

qq479850581的博客 602

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Node.js 创建第一个应用

通过本文,您已经成功地创建了一个简单的 Node.js 应用。这只是 Node.js 众多应用场景中的一个,希望这篇文章能为您开启 Node.js 的学习之旅。接下来,您可以继续深入学习 Node.js 的各个方面,如异步编程、模块化、数据库连接等,以便更好地掌握这门技术。

lly202406的博客 539

Node.js:创建第一个应用

Node.js是基于Chrome V8引擎的JavaScript运行环境,支持服务器端编程。它扩展了JavaScript的应用场景,可用于开发服务器、API、命令行工具和实时应用等。Node.js应用由引入模块、创建服务器和请求处理三部分组成。NPM是其包管理工具,支持模块安装(本地/全局)、卸载、更新和搜索。通过package.json文件管理项目依赖,使用npm init创建模块,npm publish发布模块。淘宝镜像可加速国内下载速度。Node.js简化了服务器开发流程,使JavaScript成为全

Andytoe的博客 580

node mysql菜鸟教程_Node.js 创建第一个应用

Node.js 创建第一个应用如果我们使用 PHP 来编写后端的代码时,需要 Apache 或者 Nginx 的 HTTP 服务器,并配上 mod_php5 模块和 php-cgi。从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求就不需要 PHP 来处理。不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HT...

weixin_32277761的博客 181

第3节 Node.js 创建第一个应用

第3节 Node.js 创建第一个应用

2301_78772942的博客 949

Node.js 第一个应用:从零开始创建你的第一个 Node.js 项目

本文为Node.js初学者提供了创建和运行第一个Node.js应用的详细指南。主要内容包括:1) 环境准备(检查Node.js版本、创建项目目录结构);2) 创建控制台应用(处理命令行参数、基本输出);3) 构建HTTP服务器(实现基本服务器、增强路由功能)。通过清晰的代码示例和运行说明,帮助读者快速掌握Node.js应用的基本开发流程,从简单的控制台输出到能够处理不同路由的Web服务器。文章适合前端开发者和后端入门者学习使用。

2501_93104808的博客 1488

Node.js创建第一个应用

Node.js创建第一个应用 Node.js开发的目的就是为了用JavaScript编写Web服务器程序, 在使用Node.js时,不仅仅是在实现一个应用,同时还实现了整个HTTP服务器。在创建Node.js第一个"Hello, World!"应用前,需先了解下Node.js应用是由哪几部分组成的: 引入require模块: 使用require指令载入Node.js模块 创建服务器: 服务器可以监听客户端的请求,类似于Apache、Nginx等HTTP服务器 接收请求与响应请求: 客户端可以使用浏览器或终

wxg_wll的博客 756
下一篇: Node+OCR(图像文字识别)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值