练习1:模块之间的引用

a.js

// 引入b.js模块
var b = require("./b"); // 调用对象里的方法: 对象.属性名 对象.方法名()
b.add();
b.del();

b.js

function add() {
console.log("this is add");
}
function del() {
console.log("this is del");
}
// 导出成员
exports.add = add;
exports.del = del;

练习2:官方模块的使用,官方网址http://nodejs.cn/api/,获取系统信息,创建写入读取文件,http模块

/*
* @Author: 一届书生
* @Date: 2020-03-28 10:24:24
* @LastEditTime: 2020-04-01 10:24:14
*/ /**
* 练习1:获取系统信息
*/
console.log("\n练习1:获取系统信息");
// 引入官方模块
var os = require("os"); //主要用来获取操作系统信息
var path = require("path"); //操作文件路径
var url = require("url"); // 解析URL模块
// 获取系统内存 字节 kb M G
console.log("运存:", os.totalmem() / 1024 / 1024 / 1024);
// 获取文件后缀
console.log("后缀名:", path.extname('"E:/图片/必应壁纸/pirRAsmqR.jpg"'));
// 获取表单get提交参数
// console.log(url.parse("http://gaoying.cn?name=一届书生&age=23", true));
var urlObj = url.parse("http://gaoying.cn?name=一届书生&age=23", true);
console.log("url信息:", urlObj.query.name, urlObj.query.age); /**
* 练习2:创建文件、写入文件
*/
console.log("\n练习2:创建文件、写入文件");
// 1.引入官方的fs模块
var fs = require("fs");
// 2.调用成员writerFile创建文件 参数:路径,写入的内容,回调函数
fs.writeFile("./a.txt", "你好Nodejs", function(err) {
// err有数据则写入失败
// err没数据则写入成功
if (err) {
console.log(err);
return;
}
console.log("创建成功");
}); /**
* 练习3:读取文件
*/
// 1.引入官方的fs模块
var fs1 = require("fs");
// 2.调用fs模块的成员 readFile 来读取a.txt 参数:路径,回调函数(两个参数)
// fs1.readFile("./a.txt",function(err, data) { //没有指定编码
fs1.readFile("./a.txt", "utf8", function(err, data) {
// err为真则读取失败,例如没有此文件
if (err) {
console.log(err);
return;
}
console.log("\n练习3:读取文件");
console.log(data);
}); /**
* 练习4:http模块
*/
console.log("\n 练习4:http模块");
// 1.引入http模块
var http = require("http");
// 2.创建web服务器对象
var sever = http.createServer();
// 3.监听请求->响应内容
sever.on("request", function(request, response) {
console.log("接收到了用户请求");
// response是一个对象,end方法用来响应用户数据 ctrl+c结束运行,需要重启服务
response.end("hello,NodeJs");
});
// 4.启动服务
sever.listen(8080, function() {
console.log("服务器启动成功!通过:http://localhost:8080");
});

练习3:HTTP模块响应不同的数据

/*
* @Qusetion:
* @Author: 一届书生
* @Date: 2020-04-01 10:24:07
* @LastEditTime: 2020-04-01 13:28:53
*/ /**
* 练习5:http模块-响应不同的数据
*/
console.log("\n 练习5:http模块");
// 1.引入http模块
var http = require("http");
var fs = require("fs");
var msgs = [
{ name: "张三", age: "1", content: "金" },
{ name: "李四", age: "2", content: "银" },
{ name: "王五", age: "3", content: "铜" }
];
// 2.创建web服务器对象
var sever = http.createServer();
// 3.监听请求->响应内容
sever.on("request", function(request, response) {
// 需求:登录页响应this is login 首页响应login.html
console.log(request.url); //获取用户请求路径
if (request.url == "/") {
// 首页
response.end("this is index");
} else if (request.url == "/login") {
// 登录页 (fs模块)
fs.readFile("./login.html", "utf8", function(err, data) {
if (err) {
console.log(err);
return;
} else {
// 防止中文乱码,设置请求头
response.setHeader("content-type", "text/html;charset=utf-8");
response.end(data);
}
});
} else if (request.url == "/live") {
// 动态列表
fs.readFile("./live.html", "utf8", function(err, data) {
if (err) {
console.log(err);
return;
} else {
// 需求,里边的列表动态化
// 1.将上边的变量数据 组装html
var html = "";
msgs.forEach(function(item) {
// console.log(item);
html += `${item.name} ${item.age} ${item.content} <br /> `;
});
// console.log(html);
// 2.将拼接好的数据 替换 原先静态页面的数据
var html = data.replace("待替换数据", html);
// 防止中文乱码,设置请求头
response.setHeader("content-type", "text/html;charset=utf-8");
// 3.响应替换后的数据
response.end(html);
}
});
} else {
// 防止中文乱码,设置请求头
response.setHeader("content-type", "text/html;charset=utf-8");
response.end("<a href='https://www.cnblogs.com/52dxer/'>一届书生 </a>");
}
});
// 4.启动服务
sever.listen(8080, function() {
console.log("服务器启动成功!通过:http://localhost:8080");
});

  

NodeJs初探索的更多相关文章

  1. Mac下nodeJS初体验

    Mac下nodeJS初体验 这两天博主出门在外,抽空体验一下大名鼎鼎的node 安装 brew install node 安装测试 $ node -v v8.4.0 运行本地脚本 用文本编辑器编辑一段 ...

  2. C++初探索

    C++初探索 前言 C++ 和 C 的区别主要在8个方面: 输入和输出 引用 inline函数 函数默认值 函数重载 模板函数 new 和 delete namespace 我仅对印象不深的地方做了总 ...

  3. Nodejs初阶之express

    PS: 2014/09/24 更新<Express 4.X 启航指南>,欢迎阅读和评论:)   老规矩,开头部分都是些自娱自乐的随想,想到哪写到哪... 到今天俺已经在俺厂工作俩年零几天了 ...

  4. nodejs 初入

    nodejs 模块路径 1.内置模块 如果传递给require函数的是NodeJS内置模块名称,不做路径解析,直接返回内部模块的导出对象,例:require('http'). 2. nodejs  支 ...

  5. nodejs初窥

    1. node.js不是js应用,而是js运行平台.Node.js采用C++编写,是一个js的运行环境. 2. node.js采用事件驱动.异步编程,为网络服务而设计.Node.js的网络应用模块包括 ...

  6. nodejs初写心得

    nodejs安装后如何查看和安装其他工具 网上nodejs的文章已经很多,这里只是写下自己的小小心得,如果能帮到别人当然更好. 安装nodejs这里就不叙述了,直接上nodejs官网下载就好了,初学者 ...

  7. nodejs初体验

    安装好nodejs之后 在命令行中直接运行:node -v //若安装成功则显示版本号 var http = require('http'); http.createServer(function ( ...

  8. NodeJS初介

    之前很多环境搭建中都使用到了Nodejs,所以这边对Nodejs做一个简单总结. 1.什么是Nodejs Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由R ...

  9. nodejs初印象

    初学Nodejs,特意在此记录学习过程,算是对这段时间的一个summary吧,相互勉励,共同进步嘛,Now Begin: 1.什么是nodejs nodejs 是一种基于事件驱动.非阻塞I/O模型,用 ...

  10. NodeJs初相识

    一.nodeJs简介 1.Node 是一个服务器端 JavaScript 解释器. 2.Node 的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个物理机的连接代码.处理高并 ...

随机推荐

  1. 使用 ASP.NET Core MVC 创建 Web API 系列文章目录

    使用 ASP.NET Core MVC 创建 Web API(一) 使用 ASP.NET Core MVC 创建 Web API(二) 使用 ASP.NET Core MVC 创建 Web API(三 ...

  2. 安卓开发Android Studio新版本menu菜单不显示的问题

    在新版本的Android Studio   直接配置菜单会显示不出来,新版本新建菜单经节如下: activity_main.xml(布局文件): <?xml version="1.0& ...

  3. KeyCastOW win10 屏幕显示按键 - 屏幕录像用

    KeyCastOW win10 屏幕显示按键 - 屏幕录像用 https://gitee.com/itas109/KeyCastOW/releases/v2.0.2.5-cn

  4. 关于初始化page入参的设计思路

    最近在重构老的代码,在写的过程中发现之前的逻辑如果遇到没有入参pageNo会Npe,于是乎我想找找公司项目有啥方式处理page入参的有两种如下 使用三元表达式直接判断是否null,然后赋值 使用map ...

  5. 风场可视化学习笔记:openlayers

    最近在弄地图控件方面的东西,这里分享一个我找到的一个添加风场的教程和demo,需要对大家有所帮助(以下为转载内容)载于https://blog.csdn.net/u010065726/article/ ...

  6. 记录--前端项目中运行 npm run xxx 的时候发生了什么?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 npm 是 node 捆绑的依赖管理器,常用程度可想而知.那么你每天都在 npm/yarn run 的命令到底是如何运行项目的呢? 前端项 ...

  7. ADAS-AEB系统详解

    ADAS-AEB系统详解 AEB即自动紧急制动(Automatic Emergency Braking),其通过雷达.摄像头共同监测前方车辆以及行人情况,若探测到潜在碰撞风险,系统将采取相应预警及制动 ...

  8. 开发必会系列:为什么要用spring

    Spring是于2003 年兴起的一个轻量级的Java 开发框架,开源的,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中 ...

  9. Python日志模块封装

    一.先上结论 对Python logging模块进行二次封装 # -*- coding:utf-8 -*- # 作者:IT小学生蔡坨坨 # 博客:caituotuo.top # 时间:2022/3/1 ...

  10. 在idea/webstorm等terminal运行命令报错:Command rejected by the operating system没有权限【已解决】

    在idea/webstorm等编译器terminal窗口运行命令报错:Command rejected by the operating system没有权限[已解决] 1.修改terminal窗口 ...