node.js入门

Posted 阮文武的网络日志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js入门相关的知识,希望对你有一定的参考价值。

一、前言

这个周末花了一些时间学些Node.js。主要是从大的方向进行学习。对Node.js一些特性,功能,用法,框架进行了初步了了解。

二、基础

参考:http://www.runoob.com/nodejs/nodejs-tutorial.html

三、MVC

node.js的Mvc主要是使用express和express-controller还有ejs这三个模板配合完成。

express的学习地址:

http://www.expressjs.com.cn/

express-controller学习地址:

https://www.npmjs.com/package/express-controller

ejs学习地址:

http://www.embeddedjs.com/

一个mvc框架的实现:

https://gitee.com/junhandsome/express_mvc

框架的目录:

入口文件代码:

//加载引用包
var express =require(\'express\');
var expressControllers = require(\'express-controller\');
var path = require(\'path\');
var favicon = require(\'serve-favicon\');
var logger = require(\'morgan\');
var cookieParser = require(\'cookie-parser\');
var bodyParser = require(\'body-parser\');

var app = express();
var router = express.Router();

//视图加载
app.set(\'views\', path.join(__dirname, \'views\'));
app.set(\'view engine\', \'ejs\');

//静态文件载入
app.use(express.static(path.join(__dirname, \'public\')));

//传输数据json处理
app.use(logger(\'dev\'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());

//路由控制
app.use(router);

//绑定控制器
expressControllers
    .setDirectory( __dirname + \'/controllers\')
    .bind(router);

//端口启动
app.listen(3000)

ejs模板文件userShow.ejs示例(注意后缀名是.ejs):

<!doctype html>
<html lang="zn">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="/css/amazeui.min.css">
    <script src="/js/jquery.min.js"></script>
</head>
<body>
    <h1>hello world</h1>
    <ul>
        <% user.forEach(function(user){%>
            <li>name : <%= user.name %>---email : <%= user.email %></li>
        <% });%>
    </ul>
</body>
</html>

如果是需要修改ejs文件的后缀名称的话,可以这样写:

var express = require("express");
var path    = require("path");
var app     = express();
app.set(\'views\',path.join(__dirname , \'views\') );
app.engine(\'.html\', require(\'ejs\').__express);
app.set(\'view engine\', \'html\');
app.get("/", function(req, res) {
        res.render("index",{title:"this is a test"});
})
var sever = app.listen(1337,function(){
        console.log("server started");
});

数据库操作:

http://www.runoob.com/nodejs/nodejs-mysql.html

了解这些,基本上就可以开始用node.js搞事情了。

以上是关于node.js入门的主要内容,如果未能解决你的问题,请参考以下文章

Node.js-入门

Node.js 原生开发入门完全教程(上)

(译+注解)node.js的C++扩展入门

Node.js开发入门—HelloWorld再分析

node.js调试入门

前端知识总结——Node.js入门