Nodejs學(xué)習(xí)記錄第二天-CommonJS

復(fù)習(xí)一下昨天的內(nèi)容

//引入http模塊
var http=require('http');
var app=http.createServer(function(req,res){
    //設(shè)置請求頭
    res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
    //輸入內(nèi)容
    res.write('你好 nodejs');
    //結(jié)束響應(yīng)
    res.end();
})
app.listen(8002,'127.0.0.1');

今天我們來學(xué)習(xí)一下如何把nodejs的一些公共模塊單獨封裝出去

1.我們可以把公共的功能 抽離成為一個單獨的 js 文件 作為一個模塊,默認(rèn)情況下面這個模塊里面的方法或者屬性面褐,外面是沒法訪問的恢氯。如果要讓外部可以訪問模塊里面的方法或者屬性冕碟,就必須在模塊里面通過 exports 或者 module.exports 暴露屬性或者方法涮母。

  1. 在需要使用這些模塊的文件中忆家,通過 require 的方式引入這個模塊庵芭。這個時候就可以使用模塊里面暴露的屬性和方法。

先建一個tools.js 代碼如下:

var tools={
    add:function(x,y){
        return x+y;
    },
    sayHello:function(){
        return '你好 nodejs'
    }
}

在這個文件中,我們簡單的定義了2個方法
問題了我們該如何把他暴露出去,給有需要的人使用呢
module.exports 或者 exports

那這兩者有什么區(qū)別呢
我們看看他的調(diào)用方法就知道了

//exports返回的是模塊函數(shù)
exports.tools = tools;
tools.tools.add(1,2)
//module.exports返回的是模塊對象本身涯曲,返回的是一個類
module.exports = tools;
tools.add(1,2)

在我們開頭寫的代碼里測試

var tools=require('./tools.js');
console.log(tools.add(1,2));
console.log(tools.sayHello());

這里又引出了另外一個問題了,我們寫前端是,經(jīng)常require第三方的控件,也不需要寫詳細(xì)的路徑呀,老寫路徑好煩人

npm init 生成 package.json
創(chuàng)建一個node_modules文件夾并且創(chuàng)建一個xixihaha文件夾 如圖:

截屏2019-11-13下午3.22.37.png

cd到xixihaha的目錄下 打開終端運行

npm init --yes

之后你就會發(fā)現(xiàn)多了一個package.json文件


截屏2019-11-13下午3.24.23.png

截屏2019-11-13下午3.24.44.png

當(dāng)在外邊引入xixihaha是

//xixihaha 在根目錄不存在答憔,去node_modules ,找到了xixihaha文件夾掀抹。 xixihaha文件夾下面有package.json ,找 package.json 入口文件 "main": "xixhaha.js"
var xixi = require('xixihaha');

這樣就可以不用寫路徑也能引用找到啦

不喜勿噴,侵權(quán)即刪

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末心俗,一起剝皮案震驚了整個濱河市傲武,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌城榛,老刑警劉巖揪利,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異狠持,居然都是意外死亡疟位,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門喘垂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甜刻,“玉大人,你說我怎么就攤上這事正勒〉迷海” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵章贞,是天一觀的道長祥绞。 經(jīng)常有香客問我,道長鸭限,這世上最難降的妖魔是什么蜕径? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮败京,結(jié)果婚禮上兜喻,老公的妹妹穿的比我還像新娘。我一直安慰自己赡麦,他們只是感情好虹统,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布弓坞。 她就那樣靜靜地躺著,像睡著了一般车荔。 火紅的嫁衣襯著肌膚如雪渡冻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天忧便,我揣著相機(jī)與錄音族吻,去河邊找鬼。 笑死珠增,一個胖子當(dāng)著我的面吹牛超歌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蒂教,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼巍举,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凝垛?” 一聲冷哼從身側(cè)響起懊悯,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梦皮,沒想到半個月后炭分,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡剑肯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年捧毛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片让网。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡呀忧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出溃睹,到底是詐尸還是另有隱情荐虐,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布丸凭,位于F島的核電站福扬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏惜犀。R本人自食惡果不足惜铛碑,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虽界。 院中可真熱鬧汽烦,春花似錦、人聲如沸莉御。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至牍颈,卻和暖如春迄薄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背煮岁。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工讥蔽, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人画机。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓冶伞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親步氏。 傳聞我的和親對象是個殘疾皇子响禽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355