Nodejs 牛 module 列表

Nodejs 牛 module 列表

https://github.com/sindresorhus/awesome-nodejs

这些module会一小部分了,你就是牛了。

5 回复

Node.js 牛 module 列表

在 Node.js 生态系统中,有许多强大的模块可以帮助开发者更高效地构建应用。这里列出了一些非常流行的 Node.js 模块,它们在不同的场景下都有出色的表现。

1. Express

Express 是一个简洁而灵活的 Node.js Web 应用框架,它提供了一套丰富的功能来帮助开发人员创建各种 Web 和移动应用。

安装

npm install express

示例代码

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

2. Mongoose

Mongoose 是一个对象数据建模(ODM)库,用于简化 MongoDB 中的数据处理。它为 Node.js 环境提供了强大的数据验证和中间件支持。

安装

npm install mongoose

示例代码

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true, useUnifiedTopology: true });

const Cat = mongoose.model('Cat', { name: String });

const kitty = new Cat({ name: 'Zildjian' });
kitty.save().then(() => console.log('meow'));

3. Passport

Passport 是一个简单、一致的登录认证中间件,适用于任何基于 HTTP 的应用程序。它提供了多种策略,如本地用户名和密码、OAuth 和 OpenID。

安装

npm install passport passport-local

示例代码

const LocalStrategy = require('passport-local').Strategy;
const express = require('express');
const passport = require('passport');

const app = express();
app.use(express.urlencoded({ extended: false }));

passport.use(new LocalStrategy(
  function(username, password, done) {
    if (username === 'admin' && password === 'password') {
      return done(null, { id: 1, username: 'admin' });
    }
    return done(null, false);
  }
));

app.post('/login',
  passport.authenticate('local', { failureRedirect: '/login' }),
  function(req, res) {
    res.redirect('/');
  });

app.listen(3000);

4. Winston

Winston 是一个简单的日志库,支持多运输方式,包括文件、控制台等。

安装

npm install winston

示例代码

const winston = require('winston');

const logger = winston.createLogger({
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

logger.info('This is an info message');

以上是一些常用的 Node.js 模块,希望对你有所帮助。更多优秀的模块可以参考 Sindre Sorhus 的 awesome-nodejs


这几天抽空发布一个更牛的~

关注一下

当然可以!以下是一些非常实用且流行的 Node.js 模块,它们在不同的场景中非常有用。这些模块可以帮助开发者提高开发效率,简化任务。

1. Express

Express 是一个简洁而灵活的 Node.js 网络应用框架,提供了一系列强大的功能来开发 Web 应用和 API。它可以帮助开发者快速搭建一个服务端项目。

示例代码:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`App listening at http://localhost:${port}`);
});

2. Mongoose

Mongoose 是一个对象建模工具,用于与 MongoDB 数据库进行交互。它可以方便地定义数据结构,并提供了许多高级功能如验证、中间件等。

示例代码:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true, useUnifiedTopology: true });

const userSchema = new mongoose.Schema({
  name: String,
  age: Number
});

const User = mongoose.model('User', userSchema);

const newUser = new User({ name: 'John Doe', age: 30 });
newUser.save().then(() => console.log('User saved!'));

3. Passport

Passport 是一个简单且灵活的身份验证中间件,适用于任何 Node.js 应用程序。它支持多种认证策略(如本地、OAuth、JWT 等)。

示例代码:

const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;

passport.use(new LocalStrategy(
  function(username, password, done) {
    // 验证逻辑
    return done(null, { username: username });
  }
));

app.post('/login', 
  passport.authenticate('local', { failureRedirect: '/login' }),
  function(req, res) {
    res.redirect('/');
  });

4. Winston

Winston 是一个简单且通用的日志库,适用于任何 Node.js 应用程序。它支持多个传输(transports),可以将日志信息输出到控制台、文件等多种地方。

示例代码:

const winston = require('winston');

const logger = winston.createLogger({
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

logger.info('这是测试信息');

这些模块都是 Node.js 开发者常用的工具,掌握它们能够极大地提升开发效率和项目的可维护性。希望这些示例代码能帮助你更好地理解和使用这些模块!

回到顶部