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


相关推荐: 网站制作价目表怎么做,珍爱网婚介费用多少?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  浅述节点的创建及常见功能的实现  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  SQL查询语句优化的实用方法总结  Laravel如何使用模型观察者?(Observer代码示例)  javascript日期怎么处理_如何格式化输出  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  如何在阿里云完成域名注册与建站?  如何为不同团队 ID 动态生成多个“认领值班”按钮  北京网站制作的公司有哪些,北京白云观官方网站?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  如何在企业微信快速生成手机电脑官网?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Laravel如何实现多对多模型关联?(Eloquent教程)  青岛网站建设如何选择本地服务器?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  香港服务器WordPress建站指南:SEO优化与高效部署策略  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel如何实现本地化和多语言支持?(i18n教程)  教你用AI润色文章,让你的文字表达更专业  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel如何使用查询构建器?(Query Builder高级用法)  Java遍历集合的三种方式  如何在IIS7上新建站点并设置安全权限?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  如何快速搭建高效WAP手机网站吸引移动用户?  javascript读取文本节点方法小结  JS碰撞运动实现方法详解  Swift中switch语句区间和元组模式匹配  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  EditPlus中的正则表达式 实战(4)  Laravel观察者模式如何使用_Laravel Model Observer配置  网站页面设计需要考虑到这些问题  高防服务器租用指南:配置选择与快速部署攻略  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何在新浪SAE免费搭建个人博客?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?