本篇文章是一个web框架和工具分享文章,本文中给大家总结分享18个我最推荐的node web框架和工具,希望对大家有所帮助!
node是一个底层平台。为了方便开发者的工作变得简单高效,社区诞生了超过上千个库。
随着时间的推移,有很多优秀的库可以供大家选择,下面是不完全选择列表:
node: 提供非常简单的方式来创建Web服务器,且功能足够强大并且足够的轻量,专注于服务器的核心功能。
// server.jsconst express = require('express')const app = express()const port = 3000app.get('/', (req, res) => { res.send('Hello World!')})app.listen(port, () => { console.log(`Example app listening on port ${port}`)})
登录后复制
node: 它是由Express背后的同一团队打造,提供更加简单、更小巧的库,并且支持ES NEXT的async await语法。
// server.jsconst Koa = require('koa');const app = new Koa();app.use(async ctx => { ctx.body = 'Hello World';});app.listen(3000);
登录后复制
node: 一个基于TypeScript的渐进式Node.js框架,用于构建高效、可靠、可扩展的企业级服务端应用程序。
// app.controller.tsimport { 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 }; }}
登录后复制
node: 使用Node.js和Koa构建更好的企业级服务端框架。
// app/controller/home.jsconst Controller = require('egg').Controller;class HomeController extends Controller { async index() { this.ctx.body = 'Hello world'; }}module.exports = HomeController;
登录后复制
node: node 框架提供了良好的开发体验,提供生产环境的所有功能:服务端渲染、支持TypeScript、路由预获取等等。
// first-post.jsexport default function FirstPost() { returnFirst Post
}
登录后复制
node: Remix 是一个全栈Web框架,它开箱即用,包含构建现代Web应用程序前端和后端。
// index.tsxexport 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 ({projects.map((project) => ( {project.title} ))});}
登录后复制
node: 一个基于React、GraphQL的静态站点生成器,具有非常丰富的插件和生态。
// src/pages/index.jsimport * as React from 'react'const IndexPage = () => { return ()}export default IndexPage Home Page Welcome to my Gatsby site!
I'm making this by following the Gatsby Tutorial.
登录后复制
node: 用于构建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();
登录后复制
node: 一个高度专注于以最少的开销和强大的插件架构,提供最佳的开发体验的Web框架。Fastify是最快的Node.js Web框架之一。
// server.jsconst fastify = require('fastify')({ logger: true })// Declare a routefastify.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()
登录后复制
node: 一个基于TypeScript的全功能框架,高度关注开发人员的体验和稳定性。Adonis是最快的Node.js Web框架之一。
// PostsController.jsimport Post from 'App/Models/Post'export default class PostsController { public async index () { return Post.all() } public async store ({ request }) { return request.body() }}
登录后复制
node: Feathers是一个轻量级的Web框架,用于使用JavaScript或者TypeScript创建实时应用程序和REST API。在几分钟内构建原型程序,在几天内构建企业级应用程序。
// app.tsimport feathers from '@feathersjs/feathers';interface Message { id?: number; text: string;}class MessageService { messages: Message[] = []; async find () { return this.messages; } async create (data: Pick) { 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();
登录后复制
node: 使构建复杂集成的现代应用程序变得更加容易。
// hello.controller.tsimport {get} from '@loopback/rest';export class HelloController { @get('/hello') hello(): string { return 'Hello world!'; }}
登录后复制
node: 一个非常强大的全栈框架,提供同构的方法来使用JavaScript构建应用程序,在客户端和服务端共享代码。以前提供全套的现成工具,现在与前端库React、Vue和Angular集成。也可用于创建移动应用程序。
node: 它提供非常轻量级的服务器来创建异步HTTP微服务。
// index.jsconst 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}`);
登录后复制
node: 使用NestJS、Express、React、Angular等进行全栈monorepo开发的工具包,Nx有助于将您的开发从一个团队构建一个应用程序扩展到多个团队协作开发多个应用程序!
node: Sapper是一个用于构建各种规模的Web应用程序框架,具有出色的开发体验和灵活的基于文件系统的路由,提供SSR等等。
node: 用于构建实时网络应用程序的WebSocket框架。
// index.jsconst 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');});
登录后复制
node: Strapi是一种灵活的开源无头CMS,它让开发人员可以自由选择自己喜欢的工具和框架,同时允许编辑者轻松管理他们的内容。
以上就是我推荐的Node.js Web框架和工具,如果有更好的推荐欢迎在评论区评论。
更多node相关知识,请访问:node!
以上就是推荐分享Node.js中18个值得了解的Web框架和工具的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2633077.html