2018-08-21nodejs

Nodejs學(xué)習(xí)筆記

一靶草、 NodeJs介紹

  1. 什么是NodeJS莺禁,在應(yīng)用程開(kāi)發(fā)中起什么作用?

Nodejs是一個(gè)應(yīng)用編程平臺(tái)吼具,能運(yùn)行javascript語(yǔ)言編寫(xiě)的代碼,提供了javascript運(yùn)行環(huán)境矩距,基于Google的V8引擎拗盒,V8引擎執(zhí)行Javascript的速度非常快锥债,性能非常好陡蝇。

提供了大量應(yīng)用編程接口API,在處理http網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)赞弥、文件等操作時(shí)非常方便.[圖片上傳失敗...(image-ef1d0e-1534834411521)]

  1. NodeJS開(kāi)發(fā)環(huán)境安裝

1> 官網(wǎng)下載地址 https://nodejs.org/en/download/

2> 檢測(cè)是否安裝成功

打開(kāi)命令窗口:輸入 node –v

>v8.11.3

出現(xiàn)如上提示表示安裝成功

3> 環(huán)境配置

第一步:在nodejs安裝目錄下新建: ”node_global”及”node_cache”兩個(gè)文件夾

[圖片上傳失敗...(image-a24a5e-1534834411520)]

第二步: cmd 中輸入如下命令

$ npm config set prefix “d:\nodejs\node_global”

$ npm config set cache “d:\nodejs\node_cache”

第三步:配置新建NODE_PATH環(huán)境變量

變量名:NODE_PATH

變量值:D:\nodejs\node_global\node_modules

  1. 第一個(gè)javascript程序

運(yùn)行方式1:

命令行直接輸入 node ,進(jìn)入命令模式

輸入相應(yīng)javascript代碼執(zhí)行

退出:按兩下ctrl+c

運(yùn)行方式2:

將javascript代碼封裝成xx.js文件

命令行輸入: node xx.js

二毅整、 nodejs包管理工具 NPM

  1. 什么是npm?

  2. 檢查npm是否安裝 $ npm –v

  3. 設(shè)置npm服務(wù)器為淘寶鏡像服務(wù)器

$ npm config set registry https://registry.npm.taobao.org

  1. npm包安裝方式: 全局安裝 和本地安裝

npm install 包名

例:安裝MySQL數(shù)據(jù)庫(kù)包 npm install mysql -g

  1. cnpm 使用淘寶 NPM 鏡像

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

$ cnpm install mysql –g

三、 nodejs數(shù)據(jù)庫(kù)操作

  1. 實(shí)現(xiàn)連接mysql數(shù)據(jù)庫(kù)查詢數(shù)據(jù)

新建connectdb.js

|

var mysql = require('mysql'); //引用mysql數(shù)據(jù)庫(kù)操作包

//根據(jù)指定參數(shù)創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象

var connection = mysql.createConnection({

host : 'localhost',

user : 'root',

password : '123',

database : 'db1803'

});

connection.connect(); //打開(kāi)數(shù)據(jù)庫(kù)連接

var findUserByNameSQL = "SELECT * FROM user WHERE username='admin'";

//執(zhí)行sql語(yǔ)句

connection.query(findUserByNameSQL, function(error,results,fileds){

if (error) {

console.log("查詢數(shù)據(jù)出錯(cuò)...");

throw error; //拋異常給系統(tǒng)處理

};

console.log("用戶名"+ "\t"+"密碼");

console.log(results[0].username+ "\t"+results[0].password);

});

connection.end(); //關(guān)閉數(shù)據(jù)庫(kù)連接

|

執(zhí)行js文件命令

$ node connectdb.js

輸出結(jié)果:

用戶名 密碼

admin 123456

四绽左、 nodejs模塊系統(tǒng)

  1. 什么是模塊?

為了讓Node.js的文件可以相互調(diào)用悼嫉,Node.js提供了一個(gè)簡(jiǎn)單的模塊系統(tǒng)。

模塊是Node.js 應(yīng)用程序的基本組成部分拼窥,文件和模塊是一一對(duì)應(yīng)的戏蔑。換言之,一個(gè) Node.js 文件就是一個(gè)模塊鲁纠,這個(gè)文件可能是JavaScript 代碼总棵、JSON 或者編譯過(guò)的C/C++ 擴(kuò)展。

  1. Node.js 提供了 exports 和 require 兩個(gè)對(duì)象改含,其中 exports 是模塊公開(kāi)接口對(duì)象(用于定義公開(kāi)模塊接口)情龄,require 用于從外部獲取一個(gè)模塊的接口,即所獲取模塊的 exports 對(duì)象。

[圖片上傳失敗...(image-d88f74-1534834411518)]

Hello.js文件內(nèi)容如下:

[圖片上傳失敗...(image-167c9c-1534834411518)]

Main.js

[圖片上傳失敗...(image-95c6c5-1534834411518)]

有時(shí)候我們只是想把一個(gè)對(duì)象封裝到模塊中骤视,格式如下:

module.exports = function() {

// ...

}

模塊接口的唯一變化是使用 module.exports = Hello 代替了exports.world = function(){}鞍爱。 在外部引用該模塊時(shí),其接口對(duì)象就是要輸出的 Hello 對(duì)象本身专酗,而不是原先的 exports睹逃。

五、 在JavaScript中祷肯,一個(gè)函數(shù)可以作為另一個(gè)函數(shù)的參數(shù)沉填。我們可以先定義一個(gè)函數(shù),然后傳遞佑笋,也可以在傳遞參數(shù)的地方直接定義函數(shù)翼闹。

六、 異步與同步

  1. 讀取文件操作

|

var fs = require('fs');

fs.readFile("users.txt",function(error,data){

if(error){

console.log("讀文件出錯(cuò)");

return;

}

console.log(data.toString());

});

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末允青,一起剝皮案震驚了整個(gè)濱河市橄碾,隨后出現(xiàn)的幾起案子卵沉,更是在濱河造成了極大的恐慌颠锉,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件史汗,死亡現(xiàn)場(chǎng)離奇詭異琼掠,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)停撞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)瓷蛙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人戈毒,你說(shuō)我怎么就攤上這事艰猬。” “怎么了埋市?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵冠桃,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我道宅,道長(zhǎng)食听,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任污茵,我火速辦了婚禮樱报,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘泞当。我一直安慰自己迹蛤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著盗飒,像睡著了一般穷缤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上箩兽,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天津肛,我揣著相機(jī)與錄音,去河邊找鬼汗贫。 笑死身坐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的落包。 我是一名探鬼主播部蛇,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼咐蝇!你這毒婦竟也來(lái)了涯鲁?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤有序,失蹤者是張志新(化名)和其女友劉穎抹腿,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體旭寿,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡警绩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了盅称。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肩祥。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缩膝,靈堂內(nèi)的尸體忽然破棺而出混狠,到底是詐尸還是另有隱情,我是刑警寧澤疾层,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布将饺,位于F島的核電站,受9級(jí)特大地震影響云芦,放射性物質(zhì)發(fā)生泄漏俯逾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一舅逸、第九天 我趴在偏房一處隱蔽的房頂上張望桌肴。 院中可真熱鬧,春花似錦琉历、人聲如沸坠七。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)彪置。三九已至拄踪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拳魁,已是汗流浹背惶桐。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留潘懊,地道東北人姚糊。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像授舟,于是被迫代替她去往敵國(guó)和親救恨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,223評(píng)論 0 3
  • Node.js是目前非呈褪鳎火熱的技術(shù)肠槽,但是它的誕生經(jīng)歷卻很奇特。 眾所周知奢啥,在Netscape設(shè)計(jì)出JavaScri...
    w_zhuan閱讀 3,617評(píng)論 2 41
  • 1 Webpack 1.1 概念簡(jiǎn)介 1.1.1 WebPack是什么 1秸仙、一個(gè)打包工具 2、一個(gè)模塊加載工具 3...
    Kevin_Junbaozi閱讀 6,677評(píng)論 0 16
  • Node.js是目前非成ǔ撸火熱的技術(shù)筋栋,但是它的誕生經(jīng)歷卻很奇特。 眾所周知正驻,在Netscape設(shè)計(jì)出JavaScri...
    Myselfyan閱讀 4,075評(píng)論 2 58
  • 談及村上春樹(shù),是一個(gè)有些不自量力的想法抢腐。但在青春巨變姑曙,朝是而非的青年生活中,他無(wú)疑以文字的力量讓我學(xué)會(huì)了一種生活態(tài)...
    壹念壹面閱讀 1,846評(píng)論 3 10