刚学Node.js,分享一个入门的实例

刚学Node.js,分享一个入门的实例

动手和最佳实践是学习一门语言或框架的最佳方式。

分享node-blog-starter,使用Express + Mongoose + Ejs实现的个人博客系统。

我是刚学Node.js的新手,写得不好的地方还请大帮忙之处,谢谢。

最后,希望能够帮到有需要的同学~

12 回复

当然可以。以下是一个简单的入门实例,旨在帮助初学者理解如何使用Node.js搭建一个基本的Web服务器。我们将使用Express框架来简化HTTP服务的创建过程。

示例代码

首先,确保你已经安装了Node.js。然后,创建一个新的项目文件夹,并初始化npm:

mkdir my-first-node-app
cd my-first-node-app
npm init -y

接下来,安装Express库:

npm install express

现在,创建一个名为app.js的文件,并添加以下代码:

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

// 设置模板引擎为EJS
app.set('view engine', 'ejs');

// 定义路由
app.get('/', (req, res) => {
    res.send('Hello World!');
});

app.get('/about', (req, res) => {
    res.render('about', { title: 'About Page' });
});

// 启动服务器
app.listen(port, () => {
    console.log(`Server is running on http://localhost:${port}`);
});

在这个例子中,我们做了以下几件事:

  1. 引入Express:通过require('express')来引入Express模块。
  2. 设置视图引擎:使用app.set('view engine', 'ejs')将EJS设置为视图引擎,这使得我们可以方便地渲染HTML模板。
  3. 定义路由
    • / 路由会返回一条简单的消息 “Hello World!”。
    • /about 路由则会渲染一个名为 about.ejs 的模板,并传递一个包含页面标题的对象给模板。
  4. 启动服务器:通过app.listen(port)启动一个监听指定端口的服务器。

创建EJS模板

为了使上述代码能够正常工作,还需要创建一个EJS模板文件。在你的项目文件夹中创建一个名为views的文件夹,并在其中创建一个名为about.ejs的文件。文件内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><%= title %></title>
</head>
<body>
    <h1>About Page</h1>
    <p>This is the about page of our simple blog.</p>
</body>
</html>

运行应用

最后,运行你的应用:

node app.js

打开浏览器并访问http://localhost:3000,你应该能看到 “Hello World!” 的消息。访问http://localhost:3000/about 则会看到关于页面的内容。

这个简单的示例展示了如何使用Node.js、Express以及EJS构建一个基本的Web应用。希望这对刚开始学习Node.js的同学有所帮助!


node自学中,支持一下

看的哪本书?

同楼主一样,大三学生一枚,同样推荐一个吧,曾在社区有人推荐过的 https://github.com/nswbmw/N-blog 看完这个,我现在在看cnode社区的开源项目 https://github.com/cnodejs/nodeclub/

共勉, 想问下写一个要多少时间~ - -

这么久的帖子都挖出来了… 实在不好意思

我npm install bcrypt 出错 npm ERR! bcrypt@0.8.0 install: node-gyp rebuild npm ERR! Exit status 139 npm ERR! npm ERR! Failed at the bcrypt@0.8.0 install script. npm ERR! This is most likely a problem with the bcrypt package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! You can get their info via: npm ERR! npm owner ls bcrypt npm ERR! There is likely additional logging output above.

npm ERR! System Darwin 13.2.0 npm ERR! command “node” “/usr/local/bin/npm” “install” "bcrypt" npm ERR! cwd /Users/harvey850331/Sites/Harvey-nodejsblog npm ERR! node -v v0.8.2 npm ERR! npm -v 1.4.21 npm ERR! code ELIFECYCLE npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /Users/harvey850331/Sites/Harvey-nodejsblog/npm-debug.log npm ERR! not ok code 0 找不到原因 请教一下

啧啧。。原来你在这里还混的

前几天这个问题,update了一下nodejs就好了。 再问下我看到这个在html页面中的 local.marked(),这个方法是如何设置的,有些页面能显示,有些页面说未定义。万分感谢

我的也出错了 module.js:340 throw err; ^ Error: Cannot find module 'express’ at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (e:\nodeBlog\app.js:6:15) at Module._compile (module.js:456:26) at Object.Module._extensions…js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)

支持一个

当然可以!以下是一个简单的Node.js入门实例。我们将创建一个基本的HTTP服务器,该服务器能够响应用户的请求并返回一些简单的文本内容。

示例代码

首先,确保你已经安装了Node.js。你可以通过运行 node -v 来检查是否已安装Node.js。

接下来,创建一个新的项目目录,并在该目录中初始化一个新的Node.js项目:

mkdir nodejs-intro
cd nodejs-intro
npm init -y

现在,我们可以编写我们的第一个Node.js文件。在项目目录中创建一个名为 server.js 的文件,并添加以下内容:

const http = require('http');

// 创建一个HTTP服务器
const server = http.createServer((req, res) => {
    // 设置响应头
    res.writeHead(200, {'Content-Type': 'text/plain'});
    
    // 发送HTTP响应
    res.end('Hello, World!\n');
});

// 监听端口
const PORT = 3000;
server.listen(PORT, () => {
    console.log(`Server running at http://localhost:${PORT}/`);
});

运行服务器

保存 server.js 文件后,在终端中运行以下命令来启动服务器:

node server.js

你应该看到控制台输出:

Server running at http://localhost:3000/

访问服务器

打开浏览器并访问 http://localhost:3000/,你应该能看到 “Hello, World!” 的文本。

解释

  • http模块:Node.js 提供了一个内置的 http 模块,用于创建 HTTP 服务器和客户端。
  • createServer方法:创建一个HTTP服务器,该方法接收一个回调函数作为参数,该函数会在每次接收到HTTP请求时被调用。
  • writeHead方法:设置响应的状态码和头部信息。
  • end方法:发送响应主体内容并结束请求处理。

通过这个简单的例子,你可以开始了解Node.js的基本工作原理。如果你想要进一步学习,可以尝试添加路由、数据库连接等功能,或者探索更多Node.js的库和框架。希望这个例子对你有所帮助!

回到顶部