nodejs 到底是干嘛的
在文件模块中,又分为3类模块,这三类文件模块以后缀来区分,Node.js会根据后缀名来决定加载方法。
1.js. 通过fs模块同步读取js文件并编译执行。
2.../mod或../mod,相对路径的文件模块
3./pathtomodule/mod,绝对路径的模块
4.mod非原生模块的文件模块
当require一个文件模块时,从当前文件目录开始查找node_modules目录;然后依次进入父目录,查找父目录下的node_modules目录;依次迭代,直到根目录下的node_modules目录。
module.exports还是exports
一个模块可以通过module.exports或exports将函数、变量等导出,以使其它JavaScript脚本通过require()函数引入并使用。
如果你想你的模块是一个特定的类型就用module.exports。如果你想的模块是一个典型的”实例de化对象”就用exports。
require返回的其实是module.exports这个方法,exports其实是指向module.exports的一个引用
nodejs 全局变量
1.module.filename:项目文件目录
2.__filename:module.filename。
3._dirname:开发期间,该行代码所在的目录。
4.process.cwd() 运行node的工作目录,可以cd/d 修改工作目录。
5.require.main,filename:用node命令启动module的filename,如node XXX,这里的filename就是XXX
二、Node.js的Path对象
var path=require('path');
1.path.normalize(p):格式化路径
2.path.join([path1],[path2])路径合并
3.path.resolve([from],to)路径寻航
4.path.relative(from,to)相对路径
5.path.dirname(p)文件夹名称
6.path.basename([p,[ext])文件名称
7.扩展名称 path.extname(p)
8.特定平台的文件分隔符path.sep
9.特定平台的路径分隔符path.delimiter