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)
网友评论