那些網(wǎng)站做網(wǎng)批百度注冊公司地址
包結構
?? 包實際上是一個壓縮文件,解壓以后還原為目錄,符合規(guī)范的目錄應該包含如下文件:
????????????? -package.json??? 描述文件
???????????? -bin?????? 可執(zhí)行二進制文件
???????????? -lib??????? js代碼
???????????? -doc????? 文檔
???????????? -test????? 單元測試
進程和線程
進程
-- 進程負責為程序的運行提供必備的環(huán)境
-- 進程相等于工廠中的車間
線程
-- 線程 計算機中的最小的計算單位, 線程負責執(zhí)行進程中的程序
-- 線程相等于于工廠中的工人
命令行
DOS命令
dir 列出當前目錄下的所有文件
cd 目錄名 進入到指定的目錄
md 目錄名 創(chuàng)建一個文件夾
rd 目錄名 刪除一個文件夾
--環(huán)境變量
-當我們在命令行打開一個文件或者調(diào)用一個程序時,
系統(tǒng)會首先在當前目錄尋找文件系統(tǒng),找到則打開
沒有找到則會依次到環(huán)境變量path的路徑中尋找,直到找到為止
沒有找到則報錯
exports 和module.exports
-通過exports 只能使用.的方式來向外暴露內(nèi)部變量
exports.xxx = xxx
-module.exports既可以通過.的形式,也可以直接賦值
module.exports.xxx = xxxx
module.exports = {}
node模塊化講解
在node中 通過require()函數(shù)引入外部的模塊
require()函數(shù)可以傳遞一個文件的路徑作為參數(shù),node會自動根據(jù)該路徑來引入外部模塊 使用相對路徑必須以.或者..開頭
var md = require("./02-modue");
使用require() 引入模塊以后,函數(shù)會返回一個對象,這個對象代表的就是引入的模塊
使用require()引入外部模塊時,使用的就是外部標識
我們可以通過模塊標識來找到指定的模塊
模塊分為兩大類
核心模塊
-由node引擎提供的模塊
-核心模塊的標識就是,模塊的名字
文件模塊
- 由用戶自己創(chuàng)建的模塊
- 文件模式的標識就是文件的路徑(絕對路徑,相對路徑
可以通過 exports 來向外部暴露變量和方法
需要將暴露給外部的變量或方法設置為exports的屬性即可
在node中有一個全局對象, global它的作用和網(wǎng)頁中的window類似
在全局中創(chuàng)建的變量會作為global的屬性保存
在全局中創(chuàng)建的函數(shù)會作為global的方法保存
當node執(zhí)行模塊中的代碼時,他會首先在代碼的最頂部,添加如下代碼
function(exports,require,module,filename,dirname){
在代碼的最底部,添加如下代碼
}
實際模塊中的代碼都是包裝在一個函數(shù)中執(zhí)行的,并且在函數(shù)執(zhí)行時,同時傳遞進了五個實參
exports
-該對象用來將變量或函數(shù)暴露到外部
require
-函數(shù),用來引入外部的模塊
module
-module代表的是當前模塊本身
-exports就是module的屬性
-既可以使用 exports 導出, 可以使用module.exports
__filename
c:\Users\21886\Desktop\nodejs\01- modue.js
- 當前模塊的完整路徑
__diraname
c:\Users\21886\Desktop\nodejs
-當前模塊所在文件夾的完整路徑
arguments.callee
- 這個屬性保存的是當前執(zhí)行的函數(shù)對象