node模块化
- 注意项目中如何使用不同类型的模块
- 核心模块,直接
require - 三方模块,先
npm install,再require - 自定义模块,
require需要完整地址
fs
同步读取文件
- fs中readFile()是异步,无法控制流程,使用同步读
- 如果指定为utf8则返回字符,如果没有默认返回buffer
- 在异步操作中无法使用try-catch捕获错误
var text = fs.readFileSync(fileName, 'utf8');
fs.stat()方法,获取文件的状态信息
fs.stat(path,callback)
- callback有
err和stats两个参数
fs.Stats类
这个类是属于
fs模块
- 类的实例对象上,有很多方法。有两个常用的
stats.isFile()stats.isDirectory()
- 类的实例对象上,有很多时间属性
-
atime访问时间 -
mtime修改时间 -
ctime改变时间 -
birthtime诞生时间
-
mtime和ctime的主要区别是,两者改变的原因是和不同操作挂钩的
process
提供有关信息,控制当前
NodeJS进程。作为一个对象,它对于NodeJS应用程序始终是可用的,故无需使用 require
- process是一个全局进程(node主进程),你可以直接通过process变量直接访问它
-
process.platform属性, 表示NodeJS运行的操作系统,比如win32 -
process.cwd()方法返回NodeJS进程当前工作的目录
http
- createServer(),内部匿名函数会自动响应,请求
server.on("request",function(){ });server.listen(2000,function(){ });
- 端口只能绑定一次
模板
- 使用服务端的模板,有利于SEO优化
- 使用客户端的模板,页面中没有数据
- 前后端同构-----有利于用户体验,有利于SEO
封装异步api
- 使用标志位
- 有错误,
return callback(err),后面代码不执行 - 没有错误,
callback(null,result)






网友评论