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如何实现模型的全局作用域?(Global Scope示例)  详解jQuery中的事件  linux top下的 minerd 木马清除方法  如何在IIS中新建站点并配置端口与IP地址?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  如何在IIS服务器上快速部署高效网站?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel如何实现API资源集合?(Resource Collection教程)  网站制作免费,什么网站能看正片电影?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何用西部建站助手快速创建专业网站?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  如何做网站制作流程,*游戏网站怎么搭建?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  重庆市网站制作公司,重庆招聘网站哪个好?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Python结构化数据采集_字段抽取解析【教程】  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  如何在建站之星网店版论坛获取技术支持?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  开心动漫网站制作软件下载,十分开心动画为何停播?  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  Laravel如何自定义错误页面(404, 500)?(代码示例)  Laravel如何实现一对一模型关联?(Eloquent示例)  深圳网站制作平台,深圳市做网站好的公司有哪些?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  在centOS 7安装mysql 5.7的详细教程  Laravel如何使用模型观察者?(Observer代码示例)  怎么用AI帮你为初创公司进行市场定位分析?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  教学论文网站制作软件有哪些,写论文用什么软件 ?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  如何正确下载安装西数主机建站助手?  如何彻底删除建站之星生成的Banner?  网易LOFTER官网链接 老福特网页版登录地址  jQuery 常见小例汇总  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  如何用PHP快速搭建CMS系统?  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Python函数文档自动校验_规范解析【教程】  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能