刚学Node.js,分享一个入门的实例
刚学Node.js,分享一个入门的实例
动手和最佳实践是学习一门语言或框架的最佳方式。
分享node-blog-starter,使用Express + Mongoose + Ejs实现的个人博客系统。
我是刚学Node.js的新手,写得不好的地方还请大帮忙之处,谢谢。
最后,希望能够帮到有需要的同学~
当然可以。以下是一个简单的入门实例,旨在帮助初学者理解如何使用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}`);
});
在这个例子中,我们做了以下几件事:
- 引入Express:通过
require('express')
来引入Express模块。 - 设置视图引擎:使用
app.set('view engine', 'ejs')
将EJS设置为视图引擎,这使得我们可以方便地渲染HTML模板。 - 定义路由:
/
路由会返回一条简单的消息 “Hello World!”。/about
路由则会渲染一个名为about.ejs
的模板,并传递一个包含页面标题的对象给模板。
- 启动服务器:通过
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的库和框架。希望这个例子对你有所帮助!