我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Node.js中的Web框架和工具有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Node.js中的Web框架和工具有哪些

这篇文章主要介绍了Node.js中的Web框架和工具有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node.js中的Web框架和工具有哪些文章都会有所收获,下面我们一起来看看吧。

Node.js中的Web框架和工具有哪些

Node.js是一个底层平台。为了方便开发者的工作变得简单高效,社区诞生了超过上千个库。

随着时间的推移,有很多优秀的库可以供大家选择,下面是不完全选择列表:

  • Express: 提供非常简单的方式来创建Web服务器,且功能足够强大并且足够的轻量,专注于服务器的核心功能。

    // server.js
    const express = require('express')
    const app = express()
    const port = 3000
    
    app.get('/', (req, res) => {
      res.send('Hello World!')
    })
    
    app.listen(port, () => {
      console.log(`Example app listening on port ${port}`)
    })
  • koa: 它是由Express背后的同一团队打造,提供更加简单、更小巧的库,并且支持ES NEXT的async await语法。

    // server.js
    const Koa = require('koa');
    const app = new Koa();
    
    app.use(async ctx => {
      ctx.body = 'Hello World';
    });
    
    app.listen(3000);
  • NestJS: 一个基于TypeScript的渐进式Node.js框架,用于构建高效、可靠、可扩展的企业级服务端应用程序。

    // app.controller.ts
    import { Get, Controller, Render } from '@nestjs/common';
    import { AppService } from './app.service';
    
    @Controller()
    export class AppController {
        constructor(private readonly appService: AppService) {}
    
        @Get()
        @Render('index')
        render() {
            const message = this.appService.getHello();
            return { message };
        }
    }
  • Egg.js: 使用Node.js和Koa构建更好的企业级服务端框架。

    // app/controller/home.js
    const Controller = require('egg').Controller;
    
    class HomeController extends Controller {
      async index() {
        this.ctx.body = 'Hello world';
      }
    }
    
    module.exports = HomeController;
  • Next.js: React 框架提供了良好的开发体验,提供生产环境的所有功能:服务端渲染、支持TypeScript、路由预获取等等。

    // first-post.js
    export default function FirstPost() {
      return <h2>First Post</h2>
    }
  • Remix: Remix 是一个全栈Web框架,它开箱即用,包含构建现代Web应用程序前端和后端。

    // index.tsx
    export async function loader({ request }) {
      return getProjects();
    }
    
    export async function action({ request }) {
      const form = await request.formData();
      return createProject({ title: form.get("title") });
    }
    
    export default function Projects() {
      const projects = useLoaderData();
      const { state } = useTransition();
      const busy = state === "submitting";
    
      return (
        <div>
          {projects.map((project) => (
            <Link to={project.slug}>{project.title}</Link>
          ))}
    
          <Form method="post">
            <input name="title" />
            <button type="submit" disabled={busy}>
              {busy ? "Creating..." : "Create New Project"}
            </button>
          </Form>
        </div>
      );
    }
  • Gatsby: 一个基于React、GraphQL的静态站点生成器,具有非常丰富的插件和生态。

    // class="lazy" data-src/pages/index.js
    import * as React from 'react'
    
    const IndexPage = () => {
      return (
        <main>
          <title>Home Page</title>
          <h2>Welcome to my Gatsby site!</h2>
          <p>I'm making this by following the Gatsby Tutorial.</p>
        </main>
      )
    }
    
    export default IndexPage
  • hapi: 用于构建Web应用服务的框架,使开发人员能够专注于编写可重用的应用程序逻辑,而不是花费时间构建基础设施。

    // index.js
    
    'use strict';
    
    const Hapi = require('@hapi/hapi');
    
    const init = async () => {
    
        const server = Hapi.server({
            port: 3000,
            host: 'localhost'
        });
    
        server.route({
            method: 'GET',
            path: '/',
            handler: (request, h) => {
                return 'Hello World!';
            }
        });
    
        await server.start();
        console.log('Server running on %s', server.info.uri);
    };
    
    process.on('unhandledRejection', (err) => {
        console.log(err);
        process.exit(1);
    });
    
    init();
  • Fastify: 一个高度专注于以最少的开销和强大的插件架构,提供最佳的开发体验的Web框架。Fastify是最快的Node.js Web框架之一。

    // server.js
    const fastify = require('fastify')({ logger: true })
    
    // Declare a route
    fastify.get('/', async (request, reply) => {
      return { hello: 'world' }
    })
    
    // Run the server!
    const start = async () => {
      try {
        await fastify.listen(3000)
      } catch (err) {
        fastify.log.error(err)
        process.exit(1)
      }
    }
    start()
  • AdonisJS: 一个基于TypeScript的全功能框架,高度关注开发人员的体验和稳定性。Adonis是最快的Node.js Web框架之一。

    // PostsController.js
    import Post from 'App/Models/Post'
    
    export default class PostsController {
    
      public async index () {
        return Post.all()
      }
    
      public async store ({ request }) {
        return request.body()
      }
    
    }
  • FeatherJS: Feathers是一个轻量级的Web框架,用于使用JavaScript或者TypeScript创建实时应用程序和REST API。在几分钟内构建原型程序,在几天内构建企业级应用程序。

    // app.ts
    import feathers from '@feathersjs/feathers';
    
    interface Message {
      id?: number;
      text: string;
    }
    
    
    class MessageService {
      messages: Message[] = [];
    
      async find () {
        return this.messages;
      }
    
      async create (data: Pick<Message, 'text'>) {
        const message: Message = {
          id: this.messages.length,
          text: data.text
        }
    
        this.messages.push(message);
    
        return message;
      }
    }
    
    const app = feathers();
    
    app.use('messages', new MessageService());
    
    app.service('messages').on('created', (message: Message) => {
      console.log('A new message has been created', message);
    });
    
    const main = async () => {
      await app.service('messages').create({
        text: 'Hello Feathers'
      });
    
      await app.service('messages').create({
        text: 'Hello again'
      });
    
      const messages = await app.service('messages').find();
    
      console.log('All messages', messages);
    };
    
    main();
  • Loopback.io: 使构建复杂集成的现代应用程序变得更加容易。

    // hello.controller.ts
    import {get} from '@loopback/rest';
    export class HelloController {
      @get('/hello')
      hello(): string {
        return 'Hello world!';
      }
    }
  • Meteor: 一个非常强大的全栈框架,提供同构的方法来使用JavaScript构建应用程序,在客户端和服务端共享代码。以前提供全套的现成工具,现在与前端库React、Vue和Angular集成。也可用于创建移动应用程序。

  • Micro: 它提供非常轻量级的服务器来创建异步HTTP微服务。

    // index.js
    const https = require('https');
    const {run, send} = require('micro');
    
    const {key, cert, passphrase} = require('openssl-self-signed-certificate');
    
    const PORT = process.env.PORT || 3443;
    
    const options = {key, cert, passphrase};
    
    const microHttps = fn => https.createServer(options, (req, res) => run(req, res, fn));
    
    const server = microHttps(async (req, res) => {
        send(res, 200, {encrypted: req.client.encrypted});
    });
    
    server.listen(PORT);
    console.log(`Listening on https://localhost:${PORT}`);
  • Nx: 使用NestJS、Express、React、Angular等进行全栈monorepo开发的工具包,Nx有助于将您的开发从一个团队构建一个应用程序扩展到多个团队协作开发多个应用程序!

  • Sapper: Sapper是一个用于构建各种规模的Web应用程序框架,具有出色的开发体验和灵活的基于文件系统的路由,提供SSR等等。

  • Socket.io: 用于构建实时网络应用程序的WebSocket框架。

    // index.js
    const express = require('express');
    const app = express();
    const http = require('http');
    const server = http.createServer(app);
    const { Server } = require("socket.io");
    const io = new Server(server);
    
    app.get('/', (req, res) => {
      res.sendFile(__dirname + '/index.html');
    });
    
    io.on('connection', (socket) => {
      console.log('a user connected');
    });
    
    server.listen(3000, () => {
      console.log('listening on *:3000');
    });
  • Strapi: Strapi是一种灵活的开源无头CMS,它让开发人员可以自由选择自己喜欢的工具和框架,同时允许编辑者轻松管理他们的内容。

关于“Node.js中的Web框架和工具有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Node.js中的Web框架和工具有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Node.js中的Web框架和工具有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java微服务框架和工具有哪些

这篇文章主要介绍了Java微服务框架和工具有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Netflix开放源码软件(OSS)  Netflix开放源码软件中心是基于 J
2023-06-04

python中有哪些web框架

这期内容当中小编将会给大家带来有关python中有哪些web框架,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.p
2023-06-14

html5中有哪些web框架

本篇文章为大家展示了html5中有哪些web框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。BootstrapBootstrap来自Twitter,是目前最受欢迎的前端框架,它简洁灵活,使得Web
2023-06-15

常见的Flex调试工具和Flex框架有哪些

这篇文章主要介绍了常见的Flex调试工具和Flex框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.AdobeFlexBuilder3FlexBuilder3是**
2023-06-17

go语言中web框架有哪些

web框架有Gin、Beego、Echo、Iris、Revel、Buffalo、Fiber、Gorilla等等。详细介绍:1、Gin是一个高性能的Go语言Web框架,具有快速路由和中间件支持;2、Beego是一个全功能的Go语言Web框架,
go语言中web框架有哪些
2023-12-11

C++ Web框架的种类有哪些

C++ Web框架的种类有很多,以下是一些常见的C++ Web框架:1. Wt:Wt是一个开源的C++ Web应用程序框架,用于构建现代、高性能、可扩展的Web应用程序。2. CppCMS:CppCMS是一个高性能的C++ Web框架,具有
2023-09-26

go语言的web框架有哪些

go语言有Gin、Beego、Revel、Echo和Iris等web框架。1、Gin,提供一种轻量级框架,具备高性能和易用性;2、Beego,提供一种简单、高效、可扩展的开发体验,具有良好的性能;3、Revel,提供一种简单、高效、可扩展的
2023-07-31

常用的Python web框架有哪些

常用的Python web框架有:1. Django:一个功能齐全的高级Python Web框架,可以快速开发安全和可扩展的网站和Web应用程序。2. Flask:一个轻量级的Python Web框架,提供了简单而灵活的方法来构建Web应用
2023-10-08

Java开发者必会的大数据工具和框架有哪些

这篇文章主要介绍了Java开发者必会的大数据工具和框架有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java开发者必会的大数据工具和框架有哪些文章都会有所收获,下面我们一起来看看吧。1、MongoDB——
2023-06-05

web中不可不用的在线web工具有哪些

这篇文章将为大家详细讲解有关web中不可不用的在线web工具有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前端开发相关jsfiddlejsfiddle是老牌的在线调试和分享代码的网站,它可以帮助你在
2023-06-08

编程热搜

目录