Just do IT --- NodeJs

引入 required 模塊html

var http = require("http");

建立服務器mongodb

http.createServer(function (request, response) {

    // 發送 HTTP 頭部 
    // HTTP 狀態值: 200 : OK
    // 內容類型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});

    // 發送響應數據 "Hello World"
    response.end('Hello World\n');
}).listen(8888);

npm install expressexpress

//app.js
//加載模塊
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var users = require('./routes/users');



//生成一個express實例 app
var app = express();

//設置 views 文件夾爲存放視圖文件的目錄, 即存放模板文件的地方,dirname 爲全局變量,存儲當前正在執行的腳本所在的目錄。
app.set('views', path.join(__dirname, 'views'));
//設置視圖模板引擎爲 ejs
app.set('view engine', 'ejs');

//設置/public/favicon.ico爲favicon圖標
app.use(favicon(__dirname + '/public/favicon.ico'));

//__filename 表示當前正在執行的腳本的文件名。它將輸出文件所在位置的絕對路徑,且和命令行參數所指定的文件名不必定相同。 若是在模塊中,返回的值是模塊文件的路徑。
//__dirname 表示當前執行腳本所在的目錄。


//加載日誌中間件
app.use(logger('dev'));
//加載解析json的中間件
app.use(bodyParser.json());
//加載解析urlencoded請求體的中間件。 
app.use(bodyParser.urlencoded({ extended: false }));
//加載解析cookie的中間件
app.use(cookieParser());
//設置public文件夾爲存放靜態文件的目錄
app.use(express.static(path.join(__dirname, 'public')));
//路由控制器
app.use('/', routes);
app.use('/users', users);

//捕獲404錯誤,並轉發到錯誤處理器
app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    next(err);
});

//開發環境下的錯誤處理器,將錯誤信息渲染error模版並顯示到瀏覽器中。
if (app.get('env') === 'development') {
    app.use(function(err, req, res, next) {
        res.status(err.status || 500);
        res.render('error', {
            message: err.message,
            error: err
        });
    });
}

//生產環境下的錯誤處理器,將錯誤信息渲染error模版並顯示到瀏覽器中。 
app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
        message: err.message,
        error: {}
    });
});
//導出app實例供其餘模塊調用。
module.exports = app;
routes/index.js
//生成一個路由實例用來捕獲訪問主頁的GET請求,導出這個路由並在app.js中經過app.use('/', routes); 加載。這樣,當訪問主頁時,就會調用res.render('index', { title: 'Express' });渲染views/index.ejs模版並顯示到瀏覽器中。```
var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res) {
  res.render('index', { title: 'Express' });
});

module.exports = router;

修改:npm

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var routes = require('./routes/index');

var app = express();

app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

routes(app);

app.listen(app.get('port'), function() {
  console.log('Express server listening on port ' + app.get('port'));
});
module.exports = function(app) {
  app.get('/', function (req, res) {
    res.render('index', { title: 'Express' });
  });
};

//路由規則
req.query: 處理 get 請求,獲取 get 請求參數
req.params: 處理 /:xxx 形式的 get 或 post 請求,獲取請求參數
req.body: 處理 post 請求,獲取 post 請求體
req.param(): 處理 get 和 post 請求,但查找優先級由高到低爲 req.params→req.body→req.queryjson

//經常使用中間件:
http://www.expressjs.com.cn/guide/using-middleware.html
npm install express Web 框架
npm install mongoose mongoose模塊
npm install mongodb mongodb模塊
npm install morgan 日誌請求到控制檯
npm install body-parser 解析客戶端請求的body中的內容
npm install method-override
npm install multer 實現文件上傳
npm install express-session session中間件
npm install cookie-parser 解析 cookie 的中間件瀏覽器

var fs = require("fs") 導入文件系統模塊(fs)服務器

var fs = require("fs");

// 異步讀取
fs.readFile('input.txt', function (err, data) {
   if (err) {
       return console.error(err);
   }
   console.log("異步讀取: " + data.toString());
});

// 同步讀取
var data = fs.readFileSync('input.txt');
console.log("同步讀取: " + data.toString());

console.log("程序執行完畢。");
//打開文件
var fs = require("fs");

// 異步打開文件
console.log("準備打開文件!");
fs.open('input.txt', 'r+', function(err, fd) {
   if (err) {
       return console.error(err);
   }
  console.log("文件打開成功!");     
});

相關文章
相關標籤/搜索