跳至正文
Wener Notes

Nodejs Awesome

约 5 分钟阅读
标签:资源精选
  • 最好选择 TypeScript 开发的或支持 TypeScript 的
  • TypeScript 的 decorator 比 Java 的 Annotation 弱得多
    • 不支持获取字段实际类型信息 - 因为不存在这样的信息

Nodejs 后端开发不太活跃

最近一两年 (2020-2021),可能是因为 Go 和 Rust 的盛行,导致 Nodejs 的后端开发弱化了,很多项目开发都不太活跃。

DB

driver pkgdbnotes
pg-hstorePostgreSQL
mysql2MySQL
mariadbMariaDB
sqlite3SQLite
better-sqlite3SQLite同步接口
tediousMicrosoft SQL Server
ibm_dbDB2
TypeScript
// PostgreSQL
// 支持的环境变量 https://www.postgresql.org/docs/current/libpq-envars.html
// PGHOST PGPORT PGUSER PGPASSWORD PGDATABASE PGSSLMODE PGOPTIONS
// 修改 search_path PGOPTIONS=-csearch_path=public
const { Client } = require('pg');
const client = new Client();
await client.connect();
const res = await client.query('SELECT $1::text as message', ['Hello world!']);
console.log(res.rows[0].message); // Hello world!
await client.end();

Env

    • node module
    • 👍 推荐
  • pnpm setup
    • Could not infer shell type.
      • SHELL=bash pnpm setup
      • export PNPM_HOME="/root/.local/share/pnpm"
    • curl -fsSL https://get.pnpm.io/install.sh | bash -
    • pnpm env use --global 16
    • 不支持 MUSL
  • Fast Node Manager
    • GPLv3, Rust
    • BSD-2, Rust
    • MIT, Shell
    • Elixir、Erlang、Node.js、Ruby
bash
# n on alpine
apk add bash curl ca-certificates libstdc++ libgcc
curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
chmod u+x n
install -t /usr/local/bin n

# 官方镜像
# N_NODE_MIRROR=https://unofficial-builds.nodejs.org/download/release ./n --arch x64-musl lts
# 国内镜像
N_NODE_MIRROR=https://npmmirror.com/mirrors/node-unofficial-builds ./n --arch x64-musl lts

# 非 ROOT
export PATH=$HOME/n/bin:$PATH
export N_PREFIX=$HOME/n

Library

Web

    • 🌟 推荐
    • adapter
  • express
  • koa
    • 🚧 开发停滞

Framework

Network

Server

FFI

  • node-ffi
    • ffi-napi
  • ref-napi
  • sbffi
  • napi-addon
  • napi-addon-sb
  • bun
    • 🌟 最佳选择 - 使用简单,性能好,使用 tinycc jit,但是需要 bun
    • bun 只能在 glibc os 运行 - 不支持 musl
    • Access Python & C-shared from Node.js
    • @bitair/linker.js
  • dyncall

Sandbox/VM

关联信息

反向链接、本文链接的其他页面和外部资料。

站内链接

  • fastify
    笔记 · fastify

    fastify/fastify · MIT, JS+d.ts · 目前性能最好 · 推荐使用 schema 校验输入输出 · 参考 · fastify.io · | phase | hook | abort | · | Incoming | |

  • graphile-worker
    笔记 · graphile-worker

    graphile/worker · MIT, TS · 支持 cron · PostgreSQL · LISTEN/NOTIFY · pgbouncer 需要 connection 模式 · 默认 schema graphileworker

  • NestJS
    笔记 · nestjs

    nestjs/nest · 设计来自 Angular + SpringFramework · http-errors · 核心概念 · Module · - · Controller · request -> response · - · , - , ,

  • nvm
    笔记 · nvm

    node 版本管理 · brew 默认安装最新版 · 实际开发使用强烈建议使用 lts · musl

  • sequelize
    笔记 · sequelize/sequelize

    sequelize/sequelize · src/query-types.ts · 依赖 · dottie · 对象路径 · validator · 验证 · inflection, lodash, moment · 参考 · v7 · sequelize -> @sequelize/core

  • typeorm
    笔记 · typeorm/typeorm

    typeorm/typeorm · MIT, Typescript · DataMapper, ActiveRecord · 不维护了

参考资料

GitHub92 条
其他外链8 条
最近更新commit 906e816编辑