<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      nodeJs開發app.js解析

      在 node.js 中模塊分為核心模塊和文件模塊兩種,核心模塊是通過 require('xxxx') 導入的,文件模塊是以 require('/xxxx') 或 require('./xxxx')、require('../xxxx') 形式導入的;核心模塊是用c/c++編譯的二進制模塊,而文件模塊是后綴為.js、.json、.node 的文件,在 node.js 中一個文件/文件夾也可以稱之為一個模塊。更多關于模塊及模塊加載順序的信息請查閱官網:http://nodejs.org/api/all.html#all_modules 
      這里導入了 express、http、path 核心模塊,routes 文件夾下的 index.js 和 user.js 文件模塊。

      因為 express 框架是依賴 connect 框架(Node的一個中間件框架)創建而成的,可查閱 connect 文檔:http://www.senchalabs.org/connect/和 express 官方文檔:http://expressjs.com/api.html了解更多內容。


      app.set(name, value):設置 name 的值為 value 


      app.set('port', process.env.PORT || 3000):設置端口為 process.env.PORT 或 3000 


      app.set('views', __dirname + '/views'):設置 views 文件夾為視圖文件的目錄,存放模板文件,__dirname 為全局變量,存儲著當前正在執行腳本所在的目錄名。


      app.set('view engine', 'ejs'):設置視圖模版引擎為 ejs

       

      app.use([path], function):使用中間件 function,可選參數path默認為"/"


      app.use(express.favicon()):connect 內建的中間件,使用默認的 favicon 圖標,如果想使用自己的圖標,需改為app.use(express.favicon(__dirname + '/public/images/favicon.ico')); 這里我們把自定義的 favicon.ico 放到了 public/images 文件夾下。


      app.use(express.logger('dev')):connect 內建的中間件,在開發環境下使用,在終端顯示簡單的不同顏色的日志,比如在啟動 app.js 后訪問 localhost:3000,終端會輸出:

      Express server listening on port 3000 GET / 200 21ms - 206b GET /stylesheets/style.css 304 4ms 

      數字200顯示為綠色,304顯示為藍色。假如你去掉這一行代碼,不管你怎么刷新網頁,終端都只有一行 Express server listening on port 3000。


      app.use(express.bodyParser()):connect 內建的中間件,用來解析請求體,支持 application/json, application/x-www-form-urlencoded, 和 multipart/form-data。


      app.use(express.methodOverride()):connect 內建的中間件,可以協助處理 POST 請求,偽裝 PUT、DELETE 和其他 HTTP 方法。


      app.use(app.router):設置應用的路由(可選),詳細請參考:http://stackoverflow.com/questions/12695591/node-js-express-js-how-does-app-router-work 


      app.use(express.static(path.join(__dirname, 'public'))):connect 內建的中間件,設置根目錄下的 public 文件夾為靜態文件服務器,存放 image、css、js 文件于此。


      if ('development' == app.get('env')) {app.use(express.errorHandler());}:開發環境下的錯誤處理,輸出錯誤信息。

       

      app.get('/', routes.index):路由控制器,如果用戶訪問" / "路徑,則由 routes.index 來控制,routes/index.js 內容如下:

      exports.index = function(req, res){ res.render('index', { title: 'Express' }); }; 

      通過 exports.index 導出 index 函數接口,app.get('/', routes.index) 相當于:

      app.get('/', function(req, res){ res.render('index', { title: 'Express' }); };) 

       

      res.render('index', { title: 'Express' }):調用 ejs 模板引擎解析 views/index.ejs(我們之前通過 app.set('views', __dirname + '/views')設置了模版文件默認存儲在 views 下),并傳入一個對象作為參數,這個對象只有一個屬性 title: 'Express',即用字符串 Express 替換 views/index.ejs 中所有 title 變量,后面我們將會了解更多關于模板引的內容。

      http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); }); 

      這段代碼的意思是創建服務器并監聽3000端口,成功后在命令行中顯示 Express server listening on port 3000,然后我們就可以通過在瀏覽器輸入 localhost:3000 來訪問了。

      posted @ 2015-04-25 10:03  盼少  閱讀(1486)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品青青在线观看爽香蕉| 曰本丰满熟妇xxxx性| 国产99久久精品一区二区| 麻豆精品久久久久久久99蜜桃| 性视频一区| 国产精品久久久久久妇女| 超碰人人模人人爽人人喊手机版| 四虎国产精品永久在线下载| 青草青草视频2免费观看| 亚洲精中文字幕二区三区| 国产av中文字幕精品| 荔波县| 国产成人精品亚洲高清在线| 国产成人午夜福利院| 国产成人精品日本亚洲直播| 亚洲免费视频一区二区三区| 2021国产在线视频| 亚洲人成网站在线播放2019| 日本肥老妇色xxxxx日本老妇| 国产亚洲国产亚洲国产亚洲| 国产日韩一区二区在线| 日本一区二区三区专线| 亚洲中文欧美在线视频| 成人特黄特色毛片免费看| 国产高清精品在线91| 裸体美女无遮挡免费网站| 亚洲欧美日韩愉拍自拍美利坚| 久久中精品中文字幕入口| 波多野结衣在线精品视频| 欧美人与动交视频在线观看| 亚洲a成人片在线观看| 国产黄色av一区二区三区| gogo无码大胆啪啪艺术| 亚洲精品成人福利网站| 国产午夜福利一区二区三区 | 美乳丰满人妻无码视频| 麻豆久久天天躁夜夜狠狠躁| 超碰伊人久久大香线蕉综合| 亚洲中文字字幕精品乱码| 成人3D动漫一区二区三区| 国产福利社区一区二区|