写在前面:本文是给超级新手看的,内容包括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’,就是一个反斜杠。
每个知识点其实做出来了就很简单,只是过程坎坷。