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