node.js通过url读取文件

本文实例为大家分享了node.js通过url读取文件的具体代码,供大家参考,具体内容如下

在浏览器地址栏中输入127.0.0.1:3000和127.0.0.1:3000/node时,读取node.html文件,输入127.0.0.1:3000/banner时读取banner.json文件

准备工作

首先我们在www的文件目录下新建两个文件,一个是node.htnl,一个是banner.json,并在文件中添加一点内容

1、新建01.js文件并导入模块

let fs = require("fs");
let path = require("path");
let http = require("http");

2、开启http服务

let server = http.createServer();

server.on("request",function (req,res) {

});
server.listen(3000);

3、读取文件路径

function readFile(req, res ,address) {
 let str = path.join(__dirname,"www", address);
 fs.readFile(str, "utf-8" , function (err,data) {
 if (err){
  throw new Error("读取失败");
 }
 res.end(data);
 })
}

4、url地址拼接和判断

if (req.url ==="/"){
 readFile(req,res,"node.html");
 }
 else if (req.url ==="/banner") {
 readFile(req,res,"banner.json");
 }
 else {
 res.end("no anything");
 }

5、完整代码

一下代码全部在01.js文件里面(js文件不一定要在根目录)

/*01.js*/
let fs = require("fs");
let path = require("path");
let http = require("http");

let server = http.createServer();

//开启http服务
server.on("request",function (req,res) {
 // 路径判断
 if (req.url ==="/"){
 readFile(req,res,"node.html");
 }
 else if (req.url ==="/banner") {
 readFile(req,res,"banner.json");
 }
 else if(req.url ==="/node"){
 readFile(req,res,"node.html");
 }
 else {
 res.end("no anything");
 }
});
//监听3000端口
server.listen(3000,);

//封装文件
function readFile(req, res ,address) {
 let str = path.join(__dirname,"www", address);
 fs.readFile(str, "utf-8" , function (err,data) {
 if (err){
  throw new Error("读取失败");
 }
 res.end(data);
 })
}

6、输入地址读取文件

127.0.0.1:3000

127.0.0.1:3000/node

127.0.0.1:3000/banner

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Nodejs中读取中文文件编码问题、发送邮件和定时任务实例

    关于nodejs读取中文文件真是折腾了不少时间,网上各种方案,最后没有一个适用我,好在解决了. 下面的三个知识点都是从项目中抽出的,要单独运行脚本的话需要用全局模式来安装模块,比如安装中文转换模块(后续其它的也需要这么做): 复制代码 代码如下: npm install -g iconv-lite npm install -g nodemailer npm install -g node-schedule 1.nodejs读取中文文件编码问题 准备一个文本文件(当然也可以是csv文件等)test

  • 通过nodejs 服务器读取HTML文件渲染到页面的方法

    1.分别简单实现三个备用页面. login.html页面 index.html页面 代码片段: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> <style> .center { margin: auto; width: 60%; border: 3px solid #73AD21;

  • Nodejs读取文件时相对路径的正确写法(使用fs模块)

    在开发Nodejs中,我们往往最常用的模块就是fs核心模块(fs.readFile)来读取文件.代码如下: 但是运行之后,并没有按照想象中一样,读取test.html文件内容,这是一个bug,坑爹的玩意,解决办法: 其实由于运行环境的不同,以上的相对路径的写法导致最后读取的位置是不同的. 正确的写法应该是使用"path.join()"的方式实现:(__dirname表示当前文件的目录名) //require 表示引包,引包就是引用自己的一个特殊功能 var http = require

  • NodeJs读取JSON文件格式化时的注意事项

    进行NodeJs开发时偶然发现的一个雷点 正常情况下从JSON文件读取到字符后再通过JSON.parse没什么问题,只要格式不出错 有时在确保JSON格式正确时仍然会出现unexpected token异常 经过调查发现里面有不会显示的unicode字符 于是确定是UTF-8的问题,utf-8分有dom版和无dom版,一般编辑器不刻意设置会默认保存为带dom的utf8 解决办法是先将读到的文件转成二进制,然后检索dom符号删除 代码实现部分 function readText(pathname)

  • Node.js中读取TXT文件内容fs.readFile()用法

    文件: read.js: var fs=require('fs'); fs.readFile('readtxt/demo.txt','utf-8',function(err,data){ if(err){ console.error(err); } else{ console.log(data); } }); 启动运行: Node.js读取文件函数语法如下: fs.readFile(filename,[encoding],[callback(err,data)]) filename(必选),表示

  • node.js读取文件到字符串的方法

    本文实例讲述了node.js读取文件到字符串的方法.分享给大家供大家参考.具体分析如下: Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设你是在POSIX环境下运行它Linux 或 Mac OS X. 主要代码如下: var fs = require('fs'); var file = fs.readFileSync(path, "utf8"); console.log(file); 希望本文所述对大家的

  • nodejs 递归拷贝、读取目录下所有文件和目录

    先给大家介绍下nodejs 递归拷贝目录下所有文件和目录,具体代码如下所示: var fs=require('fs'); var copy=function(src,dst){ let paths = fs.readdirSync(src); //同步读取当前目录 paths.forEach(function(path){ var _src=src+'/'+path; var _dst=dst+'/'+path; fs.stat(_src,function(err,stats){ //stats

  • node.js实现逐行读取文件内容的代码

    在此之前先介绍一个逐行读取文件内容NPM:https://github.com/nickewing/line-reader,需要的朋友可以看看. 直接上代码: function readLines(input, func) { var remaining = ''; input.on('data', function(data) { remaining += data; var index = remaining.indexOf('\n'); while (index > -1) { var l

  • nodejs实现大文件(在线视频)的读取

    nodejs进行视频读取时不能像读取图片之类的一次性读取,而是必须读取一部分返回一部分,这样客户端的播放才会边缓冲边播放,而不必等待全部缓冲完再播放. 老规矩,直接贴代码讲解: var fs = require('fs'); function readBigFileEntry(filename, response) { path.exists(filename, function(exists) { if (!filename || !exists) { response.writeHead(4

  • Node.js readline 逐行读取、写入文件内容的示例

    本文介绍了运用readline逐行读取的两种实现,分享给大家,具体如下: 什么是Readline Readline是Node.js里实现标准输入输出的封装好的模块,通过这个模块我们可以以逐行的方式读取数据流.使用require("readline")可以引用模块. 效果图如下: 左边1.log 为源文件 右边1.readline.log为复制后的文件 下边为命令行输出 实现方式一: var readline = require('readline'); var fs = require

随机推荐