Nodejs两本书的建议

Nodejs两本书的建议

学习nodejs这几天,看过两本书《nodejs入门》、《nodejs开发指南》,这两本都是入门书,相信一些小伙伴们看过,获正在看 先说说《nodejs入门》,这本书主要的例子就是一个文字和图片的submit功能实现,主要详细说了路由和server,一开始如果没有网站开发经验的小白看起来,可以能些复杂,比如我当时就看的想抓狂。看看慢慢看过之后,把代码实现了就好多了,基本上有个理解 再后看了《nodejs开发指南》这本书上一个说的全面,主要例子是一个小微博,比较好的是,介绍了express框架使用,但是在路由和server一块说的不细致,并且这本书用的框架也不是最新的,网上有一些关于最新框架的利用http://blog.fens.me/nodejs-express3/ 还得注意的是,一些例子用的是ejs,一些用的是jade,看个人掌握了 所以建议,先看第一本,再看第二本书有助于系统学习,个人建议。本人在网上也找到了一个express的API,不知道大家有木有,也拿出来分享一下http://expressjs.jser.us/api.html


6 回复

Nodejs两本书的建议

学习Node.js这几天,我阅读了两本书:《Node.js入门》和《Node.js开发指南》。这两本书都是入门级别的书籍,我相信很多小伙伴也在读或者已经读过。现在我想分享一下我对这两本书的看法和建议。

《Node.js入门》

《Node.js入门》这本书通过一个简单的例子来讲解Node.js的基础知识,即一个包含文字和图片提交功能的表单实现。这本书详细地介绍了路由(routing)和服务器(server)的概念,这对于初学者来说是非常重要的。不过,如果没有任何网站开发经验的小白读者可能会觉得有些复杂。例如,我在刚开始阅读时感到非常困惑,但随着自己逐步将代码实现,理解起来就容易多了。

示例代码:

const http = require('http');
const url = require('url');

const server = http.createServer((req, res) => {
    const parsedUrl = url.parse(req.url, true);
    const path = parsedUrl.pathname;
    const method = req.method;

    if (path === '/submit' && method === 'POST') {
        let body = '';
        req.on('data', chunk => {
            body += chunk.toString();
        });
        req.on('end', () => {
            res.writeHead(200, { 'Content-Type': 'text/plain' });
            res.end(`Received data: ${body}`);
        });
    } else {
        res.writeHead(404, { 'Content-Type': 'text/plain' });
        res.end('Not Found');
    }
});

server.listen(3000, () => {
    console.log('Server is running on port 3000');
});

这段代码展示了一个基本的HTTP服务器,能够处理POST请求并将接收到的数据返回给客户端。通过这种方式,读者可以更好地理解路由和服务器的工作原理。

《Node.js开发指南》

《Node.js开发指南》这本书则更加全面,主要通过一个小微博项目来展示Node.js的应用。书中不仅介绍了Express框架的使用,还涵盖了其他一些高级概念。不过,这本书在路由和服务器部分的讲解不如《Node.js入门》那么详尽,并且使用的Express版本不是最新的。此外,书中的一些例子使用了EJS模板引擎,而另一些则使用了Jade(现已更名为Pug)。因此,选择这本书之前最好确认一下自己的偏好。

示例代码:

const express = require('express');
const app = express();

app.set('view engine', 'pug');

app.get('/', (req, res) => {
    const tweets = [
        { id: 1, content: 'Hello World!' },
        { id: 2, content: 'Learning Node.js' }
    ];
    res.render('index', { tweets });
});

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

这段代码展示了如何使用Express框架来渲染一个包含微博列表的页面。通过这种方式,读者可以更深入地了解如何构建实际应用。

综合建议

总体来说,我的建议是先阅读《Node.js入门》,然后再阅读《Node.js开发指南》。前者可以帮助你打下坚实的基础,后者则可以让你进一步提升并掌握更多高级特性。此外,我还发现了一个非常有用的Express API文档链接,方便大家查阅:Express API

希望这些分享对你有所帮助!


开发指南有点小缺憾,express升级之后,书里的实例就不太适用了

确实,当初为此在抓狂,所以准备看《深入浅出nodejs》

难道没有上来就看node.js高级编程的么=-=

感觉没啥入门难度,就是坑有点多

我是个小白,所以看点基本的,还得请大神指教 =,=

话说,确实坑多,书上和网上的一些资料都是老版本的东西,有时候不管用。

对于学习Node.js的两本书《Node.js入门》和《Node.js开发指南》,我建议如下:

1. 《Node.js入门》

这本书适合初学者,通过简单的例子(如文字和图片提交功能)帮助读者理解Node.js的基本概念,如路由和服务器构建。

示例代码

// 引入http模块
const http = require('http');

// 创建服务器
const server = http.createServer((req, res) => {
    if (req.url === '/submit') {
        // 处理提交请求
        let body = [];
        req.on('data', chunk => {
            body.push(chunk);
        }).on('end', () => {
            body = Buffer.concat(body).toString();
            res.writeHead(200, {'Content-Type': 'text/plain'});
            res.end(`Received data: ${body}`);
        });
    } else {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.end('<h1>Welcome to the Node.js App</h1>');
    }
});

// 监听端口
server.listen(3000, () => {
    console.log('Server is running on port 3000');
});

2. 《Node.js开发指南》

这本书覆盖面更广,包括了Express框架的使用。虽然书中的例子可能略显陈旧,但仍然是理解Express框架的好材料。建议搭配最新版本的文档一起阅读。

示例代码

// 安装Express
const express = require('express');
const app = express();

// 使用ejs模板引擎
app.set('view engine', 'ejs');

// 首页路由
app.get('/', (req, res) => {
    res.render('index', { title: 'Home' });
});

// 启动服务器
app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

总结

建议:先从《Node.js入门》开始,了解基础概念和基本操作;然后过渡到《Node.js开发指南》,进一步掌握高级特性和框架使用。在实际项目中不断实践,查阅最新的文档和教程,以跟上技术的发展。

回到顶部