Maison  >  Article  >  interface Web  >  Il est recommandé de partager 18 frameworks et outils Web intéressants à connaître dans Node.js

Il est recommandé de partager 18 frameworks et outils Web intéressants à connaître dans Node.js

青灯夜游
青灯夜游avant
2022-02-21 19:36:012698parcourir

Cet article est un article sur le partage de frameworks et d'outils Web. Dans cet article, je vais résumer et partager 18 de mes frameworks et outils Web Node les plus recommandés. J'espère qu'il sera utile à tout le monde !

Il est recommandé de partager 18 frameworks et outils Web intéressants à connaître dans Node.js

Node.js est une plateforme de bas niveau. Afin de rendre le travail des développeurs simple et efficace, la communauté a créé plus de milliers de bibliothèques.

Au fil du temps, il existe de nombreuses excellentes bibliothèques parmi lesquelles tout le monde peut choisir. La liste suivante est incomplète :

  • Express : Fournit un moyen très simple de créer un serveur Web et est suffisamment puissant. . Assez léger pour se concentrer sur les fonctions principales du serveur.

    // 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 : Il est construit par la même équipe derrière Express, fournit une bibliothèque plus simple et plus petite et prend en charge la syntaxe d'attente asynchrone d'ES NEXT.

    // server.js
    const Koa = require('koa');
    const app = new Koa();
    
    app.use(async ctx => {
      ctx.body = 'Hello World';
    });
    
    app.listen(3000);
  • NestJS : Un framework Node.js progressif basé sur TypeScript pour créer des applications côté serveur de niveau entreprise efficaces, fiables et évolutives.

    // 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 : créez un meilleur framework côté serveur au niveau de l'entreprise à l'aide de Node.js et 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 : Le framework React offre une bonne expérience de développement et fournit toutes les fonctionnalités d'un environnement de production : rendu côté serveur, prise en charge de TypeScript, prélecture de route, etc.

    // first-post.js
    export default function FirstPost() {
      return <h1>First Post</h1>
    }
  • Remix : Remix est un framework Web complet qui comprend un front-end et un back-end pour créer des applications Web modernes prêtes à l'emploi.

    // 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 : Un générateur de site statique basé sur React et GraphQL, avec un plug-in et un écosystème très riches.

    // src/pages/index.js
    import * as React from &#39;react&#39;
    
    const IndexPage = () => {
      return (
        <main>
          <title>Home Page</title>
          <h1>Welcome to my Gatsby site!</h1>
          <p>I&#39;m making this by following the Gatsby Tutorial.</p>
        </main>
      )
    }
    
    export default IndexPage
  • hapi : un cadre de création de services d'applications Web qui permet aux développeurs de se concentrer sur l'écriture d'une logique d'application réutilisable au lieu de passer du temps à créer une infrastructure.

    // index.js
    
    &#39;use strict&#39;;
    
    const Hapi = require(&#39;@hapi/hapi&#39;);
    
    const init = async () => {
    
        const server = Hapi.server({
            port: 3000,
            host: &#39;localhost&#39;
        });
    
        server.route({
            method: &#39;GET&#39;,
            path: &#39;/&#39;,
            handler: (request, h) => {
                return &#39;Hello World!&#39;;
            }
        });
    
        await server.start();
        console.log(&#39;Server running on %s&#39;, server.info.uri);
    };
    
    process.on(&#39;unhandledRejection&#39;, (err) => {
        console.log(err);
        process.exit(1);
    });
    
    init();
  • Fastify : un framework Web hautement axé sur la fourniture de la meilleure expérience de développement avec une surcharge minimale et une architecture de plug-in puissante. Fastify est l'un des frameworks Web Node.js les plus rapides.

    // server.js
    const fastify = require(&#39;fastify&#39;)({ logger: true })
    
    // Declare a route
    fastify.get(&#39;/&#39;, async (request, reply) => {
      return { hello: &#39;world&#39; }
    })
    
    // Run the server!
    const start = async () => {
      try {
        await fastify.listen(3000)
      } catch (err) {
        fastify.log.error(err)
        process.exit(1)
      }
    }
    start()
  • AdonisJS : Un framework complet basé sur TypeScript qui accorde une attention particulière à l'expérience et à la stabilité des développeurs. Adonis est l'un des frameworks Web Node.js les plus rapides.

    // PostsController.js
    import Post from &#39;App/Models/Post&#39;
    
    export default class PostsController {
    
      public async index () {
        return Post.all()
      }
    
      public async store ({ request }) {
        return request.body()
      }
    
    }
  • FeatherJS : Feathers est un framework Web léger permettant de créer des applications en temps réel et des API REST à l'aide de JavaScript ou de TypeScript. Créez des prototypes en quelques minutes et des applications d'entreprise en quelques jours.

    // app.ts
    import feathers from &#39;@feathersjs/feathers&#39;;
    
    interface Message {
      id?: number;
      text: string;
    }
    
    
    class MessageService {
      messages: Message[] = [];
    
      async find () {
        return this.messages;
      }
    
      async create (data: Pick<Message, &#39;text&#39;>) {
        const message: Message = {
          id: this.messages.length,
          text: data.text
        }
    
        this.messages.push(message);
    
        return message;
      }
    }
    
    const app = feathers();
    
    app.use(&#39;messages&#39;, new MessageService());
    
    app.service(&#39;messages&#39;).on(&#39;created&#39;, (message: Message) => {
      console.log(&#39;A new message has been created&#39;, message);
    });
    
    const main = async () => {
      await app.service(&#39;messages&#39;).create({
        text: &#39;Hello Feathers&#39;
      });
    
      await app.service(&#39;messages&#39;).create({
        text: &#39;Hello again&#39;
      });
    
      const messages = await app.service(&#39;messages&#39;).find();
    
      console.log(&#39;All messages&#39;, messages);
    };
    
    main();
  • Loopback.io : Faciliter la création d'applications modernes avec des intégrations complexes.

    // hello.controller.ts
    import {get} from &#39;@loopback/rest&#39;;
    export class HelloController {
      @get(&#39;/hello&#39;)
      hello(): string {
        return &#39;Hello world!&#39;;
      }
    }
  • Meteor : Un framework full-stack très puissant qui fournit une approche isomorphe pour créer des applications utilisant JavaScript, partageant du code sur le client et le serveur. Offrant auparavant un ensemble complet d'outils prêts à l'emploi, il s'intègre désormais aux bibliothèques frontales React, Vue et Angular. Peut également être utilisé pour créer des applications mobiles.

  • Micro : Il fournit un serveur très léger pour créer des microservices HTTP asynchrones.

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

以上就是我推荐的Node.js Web框架和工具,如果有更好的推荐欢迎在评论区评论。

更多node相关知识,请访问:nodejs 教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer