c语言编程笔录

首页 >   > 笔记大全

笔记大全

nodejs 不用框架

更新时间:2024-01-15

前言

本文将探讨如何使用Node.js来开发全栈应用程序,而不使用任何框架。全栈开发涉及前端和后端技术的综合运用,涵盖了用户界面、数据交互、服务器端逻辑和数据库等方面。

代码的结构和组织

在使用Node.js进行全栈开发时,代码的结构和组织至关重要。以下是一种常见的全栈代码结构:

    ├── app.js           // 入口文件,负责启动服务器
    ├── routes           // 路由文件夹,包含不同请求路径的处理逻辑
    │   ├── index.js     // 处理根路径请求的逻辑
    │   └── api.js       // 处理API请求的逻辑
    ├── views            // 视图文件夹,包含前端页面的模板
    │   ├── index.html   // 根路径对应的模板
    │   └── api.html     // API路径对应的模板
    └── public           // 静态文件夹,包含前端所需的CSS、JavaScript和图片等
        ├── css
        ├── js
        └── img

在上述代码结构中,入口文件app.js负责启动服务器并引入相应的路由处理模块。路由文件夹中的index.js和api.js分别处理根路径和API路径的请求逻辑。views文件夹中的html文件是前端页面的模板,可以使用任何模板引擎来渲染这些模板。public文件夹是存放前端所需静态文件的地方。

前端开发

在前端开发中,可以使用HTML、CSS和JavaScript来构建用户界面。可以使用模板引擎(如EJS或Handlebars)来渲染视图模板,并通过路由逻辑处理不同页面的请求。

以下是一个简单的例子:

// app.js
const express = require('express');
const app = express();

app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');

const indexRoute = require('./routes/index');
app.use('/', indexRoute);

app.listen(3000, () => {
  console.log('Server started on port 3000');
});
// routes/index.js
const express = require('express');
const router = express.Router();

router.get('/', (req, res) => {
  res.render('index');
});

module.exports = router;

在上述代码中,使用Express框架创建了一个应用程序,设置了视图引擎为ejs,并将视图文件夹设置为views。然后,定义了根路径的GET请求处理逻辑,通过res.render('index')将index.html模板渲染为HTML。

后端开发

在后端开发中,可以使用Node.js的内置模块或第三方库来处理数据交互、服务器端逻辑和数据库等方面。

以下是一个使用Node.js处理API请求的例子:

// routes/api.js
const express = require('express');
const router = express.Router();

router.get('/users', (req, res) => {
  // 处理获取用户列表的逻辑
  // ...
  res.json(users);
});

router.post('/users', (req, res) => {
  // 处理创建新用户的逻辑
  // ...
  res.json(newUser);
});

module.exports = router;

在上述代码中,定义了/users路径的GET和POST请求处理逻辑,分别用于获取用户列表和创建新用户。通过res.json()方法向客户端返回JSON格式的数据。

总结

使用Node.js进行全栈开发时,代码的结构和组织非常重要,可以按照一定的规范来划分文件夹和模块。前端开发可以使用HTML、CSS和JavaScript构建用户界面,后端开发可以使用Node.js的内置模块或第三方库处理数据交互、服务器端逻辑和数据库等。这种无框架的全栈开发方式可以更加灵活地满足特定需求。