Node.js简单读写文件教程

写在前面:本文是给超级新手看的,内容包括Node.js项目文件是怎么对应的等等过于“简单”的描述,因为网上的大佬喜欢只给函数代码,不给在哪用。。。。

1、你首先要建立一个Node.js + express 的项目

建立过程可以参见:https://www.cnblogs.com/learnings/p/7372718.html网上挺多教程的。

2、打开index.js,如果你是新项目可以全部复制粘贴,一定要记得改项目目录。
var express = require('express');
var router = express.Router();
 
 //必须修改root为静态页面目录
let root = 'C:/Users/11924/Desktop/myapp/firstexpress/public/';
/* GET home page. */
router.get('/', function (req, res, next) {
    res.sendFile(root + 'login.html');
});

// 使用 require 方法加载 fs 核心模块
var fs = require('fs')

router.post('/read', function (req, res) {
	readFile();
    response.writeHead(200, {
		"Content-Type": "application/json"
	});
	response.write(JSON.stringify(mydata));
	response.end();
});

router.post('/write', function (req, res) {
	writeFile();
    response.writeHead(200, {
		"Content-Type": "application/json"
	});
	response.write(JSON.stringify(mydata));
	response.end();
});

function readFile() {
    console.log("读取开始。");
    // 同步读取
    var data = fs.readFileSync('E:/11.txt', 'utf-8');
    console.log("同步读取: " + data.toString());
    // 异步读取
    fs.readFile('E:/11.txt', 'utf-8', function (err, data) {
        if (err) {
            return console.error(err);
        }
        console.log("异步读取: " + data.toString());
    });
    console.log("读取结束。");
}

function writeFile() {
    console.log("写入开始。");
    // 同步读取
    var data = fs.writeFileSync('E:/write1.txt', '我是被写入的内容1!');
    var writeData1 = fs.readFileSync('E:/write1.txt', 'utf-8');
    console.log("同步读取写入的内容1: " + writeData1.toString());
    // 异步读取
    fs.writeFile('E:/write2.txt', '我是被写入的内容2!', function (err) {
        if (err) {
            return console.error(err);
        }
        var writeData2 = fs.readFileSync('E:/write2.txt', 'utf-8');
        console.log("同步读取写入的内容2: " + writeData2.toString());
    });
    console.log("写入结束。");
}

module.exports = router;
3、打开public文件,新建login.html文件,内容如下:
<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>test</title>
</head>
<body>
<script src="javascripts/jquery.js"></script>
<script>
	function read(){
		console.log("读取!");
		$.post('read',
			function (data) {
				alert("读取!");
			}
		);
	};
</script>
<script>
	function write1(){
		console.log("写入!");
		$.post('write',
			function (data) {
				alert("写入!");
			}
		);
	};
</script>
 	<div>
		<button onclick="read()">read</button>
		<button onclick="write1()">write</button>
	</div>
</body>
</html>
4、导入一个JS

细心的小伙伴应该注意到了里面有个导入的js文件,也就是下一步,在javascripts文件夹里面放jquery.js用来导入,这个文件可以去网上下载。
说明:js是一种脚本语言,常用于网页客户端编程,使网页在客户端浏览器中,实现更多地动态功能,表现出更加丰富的视觉效果。jquery是一个快速、简洁的JavaScript框架,极大的简化了javascript编程。

5、可以启动项目了

在有public文件夹的目录下打开cmd,输入 npm start或者node ./bin/www,然后你就可以去浏览器打开http://localhost:3000/看到我们的两个按钮了。测试前记得把index.js里面的文件目录改一下,要不然都是错。

整个流程介绍完毕,下面说一下踩坑心得。

1、html页面的JS函数名要注意了,我开始函数名是write,结果不报错也不执行,困扰了好久,最后才发现是关键字冲突了,哎。
2、因为导入了jquery.js所以才能通过那个$直接连接到index.js里面写的函数,友情提示,因为index.js和我的login.html只隔了一层目录,如果隔了多层,那么要改为$.post(’/write’,就是一个反斜杠

每个知识点其实做出来了就很简单,只是过程坎坷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值