广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Node.js中的Web框架和工具有哪些
  • 229
分享到

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

2024-04-02 19:04:59 229人浏览 薄情痞子
摘要

这篇文章主要介绍了node.js中的WEB框架和工具有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇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的静态站点生成器,具有非常丰富的插件和生态。

    // 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、Vueangular集成。也可用于创建移动应用程序。

  • 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框架和工具有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网JavaScript频道。

--结束END--

本文标题: Node.js中的Web框架和工具有哪些

本文链接: https://www.lsjlt.com/news/88951.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Node.js中的Web框架和工具有哪些
    这篇文章主要介绍了Node.js中的Web框架和工具有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node.js中的Web框架和工具有哪些文章都会有所收获,下面我们一起来...
    99+
    2022-10-19
  • CSS动画工具和框架有哪些
    这篇文章主要介绍“CSS动画工具和框架有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS动画工具和框架有哪些”文章能帮助大家解决问题。CSS 动画工具和框架...
    99+
    2022-10-19
  • Java微服务框架和工具有哪些
    这篇文章主要介绍了Java微服务框架和工具有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Netflix开放源码软件(OSS)  Netflix开放源码软件中心是基于 J...
    99+
    2023-06-04
  • Spring框架中的日志记录工具有哪些?
    Spring框架是一个非常流行的Java应用程序框架,它提供了大量的功能和工具来帮助开发人员构建高效、可靠的应用程序。其中一个重要的功能就是日志记录,Spring框架提供了多种日志记录工具来帮助开发人员记录和管理应用程序的日志信息。本文将介...
    99+
    2023-07-20
    并发 spring 日志
  • Node.js中有哪些框架
    本篇文章为大家展示了Node.js中有哪些框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、Sanity.ioSanity.io是一个很棒的Node.JS框架,...
    99+
    2022-10-19
  • 常见的Flex调试工具和Flex框架有哪些
    这篇文章主要介绍了常见的Flex调试工具和Flex框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.AdobeFlexBuilder3FlexBuilder3是**...
    99+
    2023-06-17
  • python中有哪些web框架
    这期内容当中小编将会给大家带来有关python中有哪些web框架,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.p...
    99+
    2023-06-14
  • html5中有哪些web框架
    本篇文章为大家展示了html5中有哪些web框架,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。BootstrapBootstrap来自Twitter,是目前最受欢迎的前端框架,它简洁灵活,使得Web...
    99+
    2023-06-15
  • php的web框架有哪些
    php中常见的web框架有Yii、Laravel、Zend、CodeIgniter几种YiiYii是一个高性能的php web应用程序开发框架,使用Yii可以快速创建一个web应用程序的代码框架,开发者也可以在生成的代码框架中添加业务逻辑,...
    99+
    2022-10-17
  • 有哪些AJAX技术框架及开发工具
    这篇文章主要讲解了“有哪些AJAX技术框架及开发工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些AJAX技术框架及开发工具”吧! ...
    99+
    2022-10-19
  • Node.js中有哪些后端框架
    Node.js中有哪些后端框架,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. KoaKoa更像是一个“框架的框架”,因为它本身实在太简单了...
    99+
    2022-10-19
  • python中web开发框架有哪些
    python中的web开发框架有Django、web.py、Bottle、Flask常见的几种DjangoDjango是一个开放源代码的Web应用框架,由Python编写,其采用了MTV框架模式,具有易维护、高度可定制和可扩展的特点。web...
    99+
    2022-10-19
  • go语言中web框架有哪些
    web框架有Gin、Beego、Echo、Iris、Revel、Buffalo、Fiber、Gorilla等等。详细介绍:1、Gin是一个高性能的Go语言Web框架,具有快速路由和中间件支持;2、Beego是一个全功能的Go语言Web框架,...
    99+
    2023-12-11
    go语言 web框架
  • Java开发者必会的大数据工具和框架有哪些
    这篇文章主要介绍了Java开发者必会的大数据工具和框架有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java开发者必会的大数据工具和框架有哪些文章都会有所收获,下面我们一起来看看吧。MongoDB——最受...
    99+
    2023-06-05
  • 有哪些好用的Node.js框架
    这篇文章主要介绍“有哪些好用的Node.js框架”,在日常操作中,相信很多人在有哪些好用的Node.js框架问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些好用的Node...
    99+
    2022-10-19
  • 常用的Python web框架有哪些
    常用的Python web框架有:1. Django:一个功能齐全的高级Python Web框架,可以快速开发安全和可扩展的网站和W...
    99+
    2023-10-08
    Python
  • Web框架的优缺点有哪些
    这篇文章主要讲解了“Web框架的优缺点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Web框架的优缺点有哪些”吧!我是否需要使用框架如果不尝试回答这个...
    99+
    2022-10-19
  • go语言的web框架有哪些
    go语言有Gin、Beego、Revel、Echo和Iris等web框架。1、Gin,提供一种轻量级框架,具备高性能和易用性;2、Beego,提供一种简单、高效、可扩展的开发体验,具有良好的性能;3、Revel,提供一种简单、高效、可扩展的...
    99+
    2023-07-31
  • C++ Web框架的种类有哪些
    C++ Web框架的种类有很多,以下是一些常见的C++ Web框架:1. Wt:Wt是一个开源的C++ Web应用程序框架,用于构建...
    99+
    2023-09-26
    C++
  • web中不可不用的在线web工具有哪些
    这篇文章将为大家详细讲解有关web中不可不用的在线web工具有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前端开发相关jsfiddlejsfiddle是老牌的在线调试和分享代码的网站,它可以帮助你在...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作