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("文件打开成功!");     
});

相关文章
相关标签/搜索