nodejs基础应用

发布时间 - 2026-01-10 22:49:50    点击率:

一、第一个nodejs应用

n1_hello.js

console.log('hello word!');

在命令行cmd中执行该文件(在该文件处打开命令行):

node n1_hello.js

在命令行cmd返回结果:

hello word!

二、nodejs基本格式

//步骤一:引入require模块,require指令载入http模块
var http = require('http');
//步骤二:创建服务器
http.createServer(function (request, response) {
 // 发送 HTTP 头部
 // HTTP 状态值: 200 : OK
 // 内容类型: text/html
 response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'});
//步骤三:接受请求与响应请求
 if(request.url!=='/favicon.ico'){
   ......
  // 发送响应数据
  response.end('');//必须有,没有则没有协议尾
 }
}).listen(8000);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8000/');

三、nodejs调用函数

-----------------调用本地函数-----------------------------

var http = require('http');
http.createServer(function (request, response) {
 response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'});
 if(request.url!=='/favicon.ico'){
  fun1(response);
  // 发送响应数据
  response.end('');
 }
}).listen(8000);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8000/');
function fun1(res){
 console.log('fun1');
 res.write('hello,我是fun1');
}

-----------------调用外部函数-----------------------------

注意:外部函数必须写在module.exports中,exports 是模块公开的接口

------------(1)仅调用一个函数-----------

主程序中:

var http = require('http');
var otherfun = require("./models/otherfuns.js");//调用外部页面的fun2
http.createServer(function (request, response) {
 response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'});
 if(request.url!=='/favicon.ico'){
  otherfun(response);//支持一个函数时
  response.end('');
 }
}).listen(8000);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8000/');

otherfuns.js中

function fun2(res){
 console.log('fun2');
 res.write('你好!,我是fun2');
}
module.exports = fun2;//只支持一个函数

------------(2)调用多个函数-----------

主程序中:

var http = require('http');
var otherfun = require("./models/otherfuns.js");//调用写函数的外部页面otherfuns.js
http.createServer(function (request, response) {
 response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'});
 if(request.url!=='/favicon.ico'){
  //todo 以对象.方法名调用
  otherfun.fun2(response);
  otherfun.fun3(response);
  //todo 以字符串调用对应函数(结果同上)
  //otherfun['fun2'](response);
  //otherfun['fun3'](response);
  response.end('');
 }
}).listen(8000);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8000/');
}

otherfuns.js中

module.exports={
 fun2:function(res){//匿名函数
  console.log('fun2');
  res.write('你好!,我是fun2');//在页面中输出
 },
 fun3:function(res){
  console.log('fun3');
  res.write('你好!,我是fun3');
 }, 
   ......
}
 

四、nodejs路由初步

主程序n4_rout.js:

var http = require('http');
//引入url模块
var url = require('url');
http.createServer(function (request, response) {
 response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'});
 if(request.url!=='/favicon.ico'){
  var pathname = url.parse(request.url).pathname;
  pathname=pathname.replace(/\//,'');//替换掉前面的/
  console.log(pathname);
  response.end('');
 }
}).listen(8000);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8000/');

在命令行cmd中执行该文件,在访问:http://localhost:8000/,在此输入路由地址,如下图,并观察命令行。

五、nodejs读取文件

主程序:

var http = require('http');
var optfile=require('./models/optfile');//导入文件
http.createServer(function (request, response) {
 // 发送 HTTP 头部
 // HTTP 状态值: 200 : OK
 // 内容类型: text/html
 response.writeHead(200, {'Content-Type': 'text/html;chaset=utf-8;'});
 if(request.url!=='/favicon.ico'){//清除第2次访问
  optfile.readfileSync('./views/login.html');//同步调用读取文件readfileSync()方法
  //optfile.readfile('./views/login.html',response);//异步步调用读取文件readfile()方法
  response.end('ok!!!!!');//todo 不写没有协议尾
  console.log('主程序执行完毕!');
 }
}).listen(8000);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8000/');

optfile.js中:

var fs=require('fs');//Node 导入文件系统模块(fs)语法 导入fs操作文件的类
module.exports={
 readfileSync:function(path){
  // 同步读取
  var data = fs.readFileSync(path,'utf-8');//以中文读取同步文件路径path
  console.log("同步方法执行完毕。");
 },
 readfile:function(path){
  // 异步读取
  fs.readFile(path,function (err, data) {
   if (err) {
    console.error(err);
   }else{
    console.log("异步读取: " + data.toString());
   }
  });
  console.log("异步方法执行完毕。");
 },
}

结果:命令行cmd中

(1)同步读取文件时:

  

(2)异步读取文件时:(常用)

  

   网页中:均为:

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# nodejs  # nodejs基础知识  # NodeJS遍历文件生产文件列表功能示例  # Linux下Nodejs安装步骤(完整详细)  # nodeJS删除文件方法示例  # nodejs连接mongodb数据库实现增删改查  # Nodejs 搭建简单的Web服务器详解及实例  # nodejs微信公众号支付开发  # Nodejs抓取html页面内容(推荐)  # nodejs如何获取时间戳与时间差  # NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法  # Nodejs全局安装和本地安装的不同之处  # Nodejs如何搭建Web服务器  # 主程序  # 我是  # 命令行  # 该文件  # 你好  # 一个函数  # 第一个  # 多个  # 在此  # 均为  # 写在  # 文件系统  # 如下图  # 不写  # response  # favicon  # url  # request  # ico  # text 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在局域网内绑定自建网站域名?  历史网站制作软件,华为如何找回被删除的网站?  网站建设整体流程解析,建站其实很容易!  Laravel如何使用Collections进行数据处理?(实用方法示例)  魔毅自助建站系统:模板定制与SEO优化一键生成指南  昵图网官方站入口 昵图网素材图库官网入口  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  SQL查询语句优化的实用方法总结  Laravel如何处理和验证JSON类型的数据库字段  WordPress 子目录安装中正确处理脚本路径的完整指南  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  实例解析Array和String方法  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  LinuxCD持续部署教程_自动发布与回滚机制  JS经典正则表达式笔试题汇总  ,在苏州找工作,上哪个网站比较好?  如何用景安虚拟主机手机版绑定域名建站?  Laravel Session怎么存储_Laravel Session驱动配置详解  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  如何撰写建站申请书?关键要点有哪些?  android nfc常用标签读取总结  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Laravel安装步骤详细教程_Laravel环境搭建指南  如何快速上传建站程序避免常见错误?  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  用yum安装MySQLdb模块的步骤方法  如何在宝塔面板创建新站点?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  Android 常见的图片加载框架详细介绍  如何安全更换建站之星模板并保留数据?  轻松掌握MySQL函数中的last_insert_id()  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  如何快速搭建高效香港服务器网站?  三星、SK海力士获美批准:可向中国出口芯片制造设备  香港网站服务器数量如何影响SEO优化效果?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何快速搭建高效服务器建站系统?  如何快速生成凡客建站的专业级图册?  如何在IIS7上新建站点并设置安全权限?  Thinkphp 中 distinct 的用法解析  如何在Windows环境下新建FTP站点并设置权限?