各种模仿首个NodeJS练习网站(Nodejs版)
各种模仿首个NodeJS练习网站(Nodejs版)
NAE上的部署地址http://eshare.cnodejs.net/ 换了个皮肤 http://rnblogs.ap01.aws.af.cm/ 伤不起的BUG啊 早两天感谢给了个NAE邀请码 今天就尝试着放上去了,不过数据库权限不够没法讲远程的数据导入进来,以至于访问仍旧超慢。
各种模仿首个NodeJS练习网站(Nodejs版)
在学习Node.js的过程中,创建一个简单的网站是一个很好的起点。这个帖子将介绍如何创建一个基本的Node.js网站,并提供一些示例代码来帮助你入门。
创建项目结构
首先,我们需要创建项目的基本文件结构。假设我们的项目名为 my-first-node-app
:
my-first-node-app/
├── package.json
├── app.js
└── views/
└── index.ejs
初始化项目
打开终端,进入项目目录并运行以下命令初始化一个新的Node.js项目:
npm init -y
这会生成一个 package.json
文件,其中包含项目的元数据。
安装依赖
接下来,安装必要的依赖库。我们将使用Express框架来快速搭建Web应用,并使用EJS模板引擎来渲染视图:
npm install express ejs
编写代码
现在我们开始编写应用的核心代码。打开 app.js
文件,并添加以下代码:
const express = require('express');
const path = require('path');
const app = express();
const PORT = process.env.PORT || 3000;
// 设置视图引擎为 EJS
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// 静态文件服务
app.use(express.static(path.join(__dirname, 'public')));
// 路由处理
app.get('/', (req, res) => {
res.render('index', { title: '我的第一个Node.js应用' });
});
// 启动服务器
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
创建视图
接下来,创建一个简单的HTML页面来展示我们的应用。在 views
目录下创建一个 index.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>Welcome to My First Node.js App!</h1>
<p>This is a simple application created using Node.js and Express.</p>
</body>
</html>
运行应用
最后,确保所有文件都已保存,然后在终端中运行以下命令启动应用:
node app.js
如果一切正常,你应该能在浏览器中访问 http://localhost:3000
并看到你的应用。
总结
通过以上步骤,你已经成功创建了一个简单的Node.js应用。这只是Node.js应用开发的开始,你可以在此基础上进一步扩展功能,比如增加数据库支持、用户认证等。希望这篇帖子对你有所帮助!
关于我们页面 顶部导航仍然是首页在高亮
嗯 问题多多啊
地址打不开啊
得复制链接才能打开 带点win8色彩啊
学习学习。。
挺不错的啊
都是山寨过来的 没点原创元素在里面 呵呵
github上还是有很多开源的列子,可以多查查的
比我的好,写了那么久,什么都想自己写,结果写的很累。
这样确实是挺累的,我调查图像上传都弄了三四天了还没弄完, 想利用mongodb的Gridfs存储加上node-canvas进行缩略裁剪。一般我们的注意力也就一个把月吧 这自己写东西没那么上进,写着写着就中断了的。
欢迎给个源码看看
针对“各种模仿首个NodeJS练习网站(Nodejs版)”这个帖子,可以提供一个简单的示例,展示如何创建一个基础的Node.js网站。这个网站将包含基本的功能,如首页、文章列表和详情页。这里会涉及到Express框架的应用以及MongoDB数据库的使用。
示例代码
首先,安装必要的依赖包:
npm init -y
npm install express mongoose body-parser ejs
然后,创建app.js
文件,写入以下内容:
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const app = express();
// 连接数据库
mongoose.connect('mongodb://localhost/nodejs_blog', {
useNewUrlParser: true,
useUnifiedTopology: true
});
// 定义模型
const PostSchema = new mongoose.Schema({
title: String,
content: String
});
const Post = mongoose.model('Post', PostSchema);
// 设置视图引擎
app.set('view engine', 'ejs');
// 使用中间件
app.use(bodyParser.urlencoded({ extended: false }));
// 路由
app.get('/', async (req, res) => {
const posts = await Post.find();
res.render('index', { posts });
});
app.get('/post/:id', async (req, res) => {
const post = await Post.findById(req.params.id);
if (!post) return res.status(404).send('Not Found');
res.render('post', { post });
});
app.listen(3000, () => console.log('Server is running on port 3000'));
接着,创建views
目录,并在其中添加index.ejs
和post.ejs
文件,用于渲染页面。
index.ejs
:
<!DOCTYPE html>
<html>
<head>
<title>Node.js Blog</title>
</head>
<body>
<h1>Posts</h1>
<ul>
<% for (let post of posts) { %>
<li><a href="/post/<%= post._id %>"><%= post.title %></a></li>
<% } %>
</ul>
</body>
</html>
post.ejs
:
<!DOCTYPE html>
<html>
<head>
<title><%= post.title %></title>
</head>
<body>
<h1><%= post.title %></h1>
<p><%= post.content %></p>
<a href="/">Back to Home</a>
</body>
</html>
以上代码实现了一个简单的博客系统,能够列出所有文章,并查看每篇文章的详细内容。这个示例可以作为一个起点,进一步扩展更多功能。希望这对理解Node.js入门项目有所帮助。