【Nodejs篇四】Node.js-使用外部模塊

目標(biāo)

當(dāng)在瀏覽器中訪問 http://localhost:3000/?q=hjq 時(shí),輸出 alsotang 的 md5 值,即 a3873b4afab737de6523673f8e989841。

錯(cuò)誤端口占用
Error: listen EADDRINUSE :::3000
解決方法
查看線程:
netstat -anp tcp | grep 3000(端口號)
或者OSX "El Capitan"
lsof -i tcp:3000
殺線程:
kill -9 PID

建立 package.json 來管理 Node.js 項(xiàng)目

package.json 文件就是定義了項(xiàng)目的各種元信息,包括項(xiàng)目的名稱,git repo 的地址,作者等等。最重要的是,其中定義了我們項(xiàng)目的依賴,這樣這個(gè)項(xiàng)目在部署時(shí),我們就不必將 node_modules 目錄也上傳到服務(wù)器,服務(wù)器在拿到我們的項(xiàng)目時(shí),只需要執(zhí)行 npm install,則 npm 會(huì)自動(dòng)讀取 package.json 中的依賴并安裝在項(xiàng)目的 node_modules 下面,然后程序就可以在服務(wù)器上跑起來了.
生成package.json文件:

$ npm init

OK,這時(shí)會(huì)要求我們輸入一些信息,亂填就好了,反正這個(gè)地方也不用填依賴關(guān)系
這次的應(yīng)用,我們依賴 express 和 utility 兩個(gè)模塊。

$ npm install express utility --save

多了個(gè) --save 參數(shù),這個(gè)參數(shù)的作用,就是會(huì)在你安裝依賴的同時(shí),自動(dòng)把這些依賴寫入 package.json。

這時(shí)查看 node_modules 目錄,會(huì)發(fā)現(xiàn)有兩個(gè)文件夾,分別是 express 和 utility

$ ls -l node_modules/

app.js

eg:

var express = require('express');
var utility = require('utility');

var app = express();

app.get('/',function(req,res) {
      // 從 req.query 中取出我們的 q 參數(shù)。
  // 如果是 post 傳來的 body 數(shù)據(jù),則是在 req.body 里面,不過 express 默認(rèn)不處理 body 中的信息,需要引入 https://github.com/expressjs/body-parser 這個(gè)中間件才會(huì)處理,這個(gè)后面會(huì)講到。
  // 如果分不清什么是 query,什么是 body 的話,那就需要補(bǔ)一下 http 的知識(shí)了
  var q = req.query.q;

  // 調(diào)用 utility.md5 方法,得到 md5 之后的值
  // 之所以使用 utility 這個(gè)庫來生成 md5 值,其實(shí)只是習(xí)慣問題。每個(gè)人都有自己習(xí)慣的技術(shù)堆棧,
  // 我剛?cè)肼毎⒗锏臅r(shí)候跟著蘇千和樸靈混,所以也混到了不少他們的技術(shù)堆棧,僅此而已。
  // utility 的 github 地址:https://github.com/node-modules/utility
  // 里面定義了很多常用且比較雜的輔助方法,可以去看看
  var md5Value = utility.md5(q);

  res.send(md5Value);
});

app.listen(3000, function (req, res) {
  console.log('app is running at port 3000');
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • NPM 使用介紹 NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用...
    yyshang閱讀 445評論 0 1
  • JavaScript 模塊化編程 網(wǎng)站越來越復(fù)雜,js代碼、js文件也越來越多,會(huì)遇到什么問題? 命名沖突; 文件...
    magic_pill閱讀 1,580評論 0 1
  • 個(gè)人入門學(xué)習(xí)用筆記、不過多作為參考依據(jù)。如有錯(cuò)誤歡迎斧正 目錄 簡書好像不支持錨點(diǎn)、復(fù)制搜索(反正也是寫給我自己看...
    kirito_song閱讀 2,648評論 1 37
  • 使用v-model 主要HTML: JS: export default { data:{ usern...
    Elle_Tiffany閱讀 5,733評論 0 1
  • 01 生活不僅是當(dāng)下的茍且,還有詩和遠(yuǎn)方 除了上學(xué)的教科書,從小不喜歡讀書以至于學(xué)生時(shí)代每每寫作文都是一件...
    陽光下de飛雪閱讀 267評論 0 0

友情鏈接更多精彩內(nèi)容