【Node.js 常用命令(第四篇)】揭秘Node.js:掌握这些常用命令,让你在开发路上风生水起!

目录

前言

30条常用的 Node.js 的命令(第1~90条在上一篇)

91. lodash - 现代 JavaScript 实用库

92. moment-timezone - 时区支持的日期库

93. js-yaml - YAML 解析和生成

94. handlebars - 模板引擎

95. marked - Markdown 解析器

96. nodemailer - 邮件发送库

97. restify - REST API 框架

98. react - 用于构建用户界面的 JavaScript 库

99. next.js - 用于构建静态网站和服务器渲染应用的框架

100. vue.js - 渐进式 JavaScript 框架

101. socket.io-redis - Socket.IO 的 Redis 适配器

102. node-gyp - Node.js 原生模块编译工具

103. node-sass - Sass 编译器

104. bcryptjs - 密码哈希库

105. jsonwebtoken - JSON Web Tokens 库

106. lodash - 现代 JavaScript 实用库

107. moment - 强大的日期库

108. axios - 基于 Promise 的 HTTP 客户端

109. webpack - 模块打包工具

110. prettier - 代码格式化工具

111. eslint - JavaScript 代码质量和风格检查工具

112. jest - JavaScript 测试框架

113. webpack-dev-server - 带有热重载的本地开发服务器

114. ts-node - TypeScript 运行时

115. nodemon - 自动重启 Node.js 应用

116. yarn - 另一种包管理器

117. cross-env - 跨平台设置环境变量

118. dotenv-webpack - Webpack 环境变量加载器

119. jsdom - DOM 操作和模拟浏览器环境

120. puppeteer - 无头浏览器自动化

总结


前言

        承接我上一篇发的文章,我们来继续探索 Node.js 的高级工具和命令,可以深入了解一些特定用途的工具,这些工具在特定场景下非常有用,可以帮助开发者解决复杂的问题,提高开发效率。

30条常用的 Node.js 的命令(第1~90条在上一篇)

91. lodash - 现代 JavaScript 实用库

lodash 是一个提供各种实用功能的 JavaScript 库,它提供了一系列的函数来帮助处理数组、数字、对象、字符串等。

# 安装 lodash
npm install lodash

# 使用 lodash 进行数组操作
const _ = require('lodash');

const numbers = [1, 2, 3, 4, 5];
const doubled = _.map(numbers, (n) => n * 2);

92. moment-timezone - 时区支持的日期库

moment-timezonemoment.js 的一个扩展,它提供了时区支持,使得在不同时区处理日期和时间变得更加容易。

# 安装 moment-timezone
npm install moment-timezone

# 使用 moment-timezone 处理时区
const moment = require('moment-timezone');

const now = moment().tz('America/New_York').format();
console.log('Current time in New York:', now);

93. js-yaml - YAML 解析和生成

js-yaml 是一个用于解析和生成 YAML 文件的 JavaScript 库,它允许你轻松地在 JavaScript 对象和 YAML 格式之间转换。

# 安装 js-yaml
npm install js-yaml

# 使用 js-yaml 解析 YAML
const yaml = require('js-yaml');

const doc = yaml.load('name: John Doe\nage: 42');
console.log(doc);

94. handlebars - 模板引擎

handlebars 是一个流行的模板引擎,它允许你使用简单的模板语言来生成 HTML、XML 或其他标记。

# 安装 handlebars
npm install handlebars

# 使用 handlebars 渲染模板
const handlebars = require('handlebars');

const template = handlebars.compile('Hello, {{name}}!');
const html = template({ name: 'John' });
console.log(html);

95. marked - Markdown 解析器

marked 是一个 Markdown 解析器,它允许你将 Markdown 文本转换为 HTML。

# 安装 marked
npm install marked

# 使用 marked 解析 Markdown
const marked = require('marked');

const markdown = '# Markdown Example\n\nThis is some **bold** text.';
const html = marked(markdown);
console.log(html);

96. nodemailer - 邮件发送库

nodemailer 是一个全面的邮件发送库,它支持 SMTP、Gmail、Mailgun 等多种邮件发送服务。

# 安装 nodemailer
npm install nodemailer

# 使用 nodemailer 发送邮件
const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'your_email@gmail.com',
    pass: 'your_password'
  }
});

const mailOptions = {
  from: 'your_email@gmail.com',
  to: 'recipient_email@example.com',
  subject: 'Test Email',
  text: 'This is a test email'
};

transporter.sendMail(mailOptions, (error, info) => {
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});

97. restify - REST API 框架

restify 是一个用于构建 RESTful API 的 Node.js 框架,它提供了丰富的功能,包括路由、中间件、验证等。

# 安装 restify
npm install restify

# 使用 restify 创建 REST API
const restify = require('restify');

const server = restify.createServer();
server.get('/', (req, res) => {
  res.send('Hello, RESTful world!');
});

server.listen(8080, () => {
  console.log('%s listening at %s', server.name, server.url);
});

98. react - 用于构建用户界面的 JavaScript 库

虽然 react 本身不是一个 Node.js 工具,但它与 Node.js 配合使用时可以构建强大的前端应用。

# 安装 react 和 react-dom
npm install react react-dom

// 使用 react 构建组件
import React from 'react';
import ReactDOM from 'react-dom';

const App = () => <div>Hello, React!</div>;

ReactDOM.render(<App />, document.getElementById('root'));

99. next.js - 用于构建静态网站和服务器渲染应用的框架

next.js 是一个轻量级的框架,用于构建优化的静态网站和服务器渲染的 React 应用。

# 创建一个新的 next.js 应用
npx create-next-app my-next-app

# 运行 next.js 应用
cd my-next-app
npm run dev

100. vue.js - 渐进式 JavaScript 框架

与 React 类似,vue.js 也不是一个 Node.js 工具,但它可以在 Node.js 环境中构建,并用于创建动态的前端应用。

# 安装 vue.js
npm install vue

// 使用 vue 创建组件
new Vue({
  el: '#app',
  template: '<h1>{{ message }}</h1>',
  data: {
    message: 'Hello Vue!'
  }
});

101. socket.io-redis - Socket.IO 的 Redis 适配器

socket.io-redis 允许 Socket.IO 使用 Redis 作为后端来同步多个 Node.js 服务器上的 WebSocket 会话。

# 安装 socket.io-redis
npm install socket.io-redis

# 使用 socket.io-redis 作为适配器
const server = require('http').createServer();
const io = require('socket.io')(server);
const redis = require('redis');
const redisAdapter = require('socket.io-redis');

const pub = redis.createClient();
const sub = redis.createClient();

io.adapter(redisAdapter({ pub, sub }));

io.on('connection', (socket) => {
  socket.on('message', (msg) => {
    console.log('message:', msg);
  });
});

102. node-gyp - Node.js 原生模块编译工具

node-gyp 是一个工具,用于编译 Node.js 的原生模块,它支持 Windows、Linux 和 macOS。

# 使用 node-gyp 编译原生模块
node-gyp configure
node-gyp build

103. node-sass - Sass 编译器

node-sass 是一个库,用于将 Sass 文件编译为 CSS 文件,它提供了与 Ruby Sass 兼容的 API。

# 安装 node-sass
npm install node-sass

# 使用 node-sass 编译 Sass
const sass = require('node-sass');
sass.render({
  file: 'path/to/file.scss',
}, (err, result) => {
  if (err) throw err;
  console.log(result.css.toString());
});

104. bcryptjs - 密码哈希库

bcryptjs 是一个轻量级的库,用于在 Node.js 和浏览器中执行密码哈希。

# 安装 bcryptjs
npm install bcryptjs

# 使用 bcryptjs 进行密码哈希
const bcrypt = require('bcryptjs');

bcrypt.hashpw('rasmuslerdorf', 8, (err, hash) => {
  console.log(hash);
});

105. jsonwebtoken - JSON Web Tokens 库

jsonwebtoken 是一个用于创建和验证 JSON Web Tokens (JWT) 的库。

# 安装 jsonwebtoken
npm install jsonwebtoken

# 使用 jsonwebtoken 创建 JWT
const jwt = require('jsonwebtoken');

const token = jwt.sign({ name: 'John Doe' }, 'secret_key', {
  expiresIn: '1h'
});

106. lodash - 现代 JavaScript 实用库

lodash 是一个提供各种实用功能的 JavaScript 库,它提供了一系列的函数来帮助处理数组、数字、对象、字符串等。

# 安装 lodash
npm install lodash

# 使用 lodash 进行数组操作
const _ = require('lodash');

const numbers = [1, 2, 3, 4, 5];
const doubled = _.map(numbers, (n) => n * 2);

107. moment - 强大的日期库

moment 是一个解析、验证、操作和显示日期和时间的库。

# 安装 moment
npm install moment

# 使用 moment 处理日期
const moment = require('moment');

const now = moment();
console.log(now.format('MMMM Do YYYY, h:mm:ss a'));

108. axios - 基于 Promise 的 HTTP 客户端

axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。

# 安装 axios
npm install axios

# 使用 axios 发送 HTTP 请求
const axios = require('axios');

axios.get('https://api.example.com/data')
  .then((response) => {
    console.log(response.data);
  })
  .catch((error) => {
    console.log(error);
  });

109. webpack - 模块打包工具

webpack 是一个模块打包工具,用于将资产(如 JavaScript 文件)打包到浏览器可加载的格式。

# 安装 webpack 和 webpack-cli
npm install webpack webpack-cli --save-dev

# 使用 webpack 打包应用
npx webpack --config webpack.config.js

110. prettier - 代码格式化工具

prettier 是一个代码格式化工具,支持多种语言,可以自动格式化代码,保持代码风格的一致性。

# 安装 prettier
npm install prettier --save-dev

# 使用 prettier 格式化代码
npx prettier --write "path/to/file.js"

111. eslint - JavaScript 代码质量和风格检查工具

eslint 是一个静态代码分析工具,用于识别和报告 JavaScript 代码中的模式,旨在使代码更一致并避免错误。

# 安装 eslint
npm install eslint --save-dev

# 运行 eslint 检查代码
npx eslint your_script.js

112. jest - JavaScript 测试框架

jest 是一个流行的 JavaScript 测试框架,它提供了丰富的功能,包括模拟、覆盖率报告和快照测试。

# 安装 jest
npm install jest --save-dev

# 运行 jest 测试
npx jest

113. webpack-dev-server - 带有热重载的本地开发服务器

webpack-dev-server 是一个提供实时重新加载、代理支持和自动浏览器刷新的本地开发服务器。

# 安装 webpack-dev-server
npm install webpack-dev-server --save-dev

# 在 webpack 配置中使用 webpack-dev-server
const webpack = require('webpack');

module.exports = {
  // ...其他配置
  devServer: {
    contentBase: './dist',
    compress: true,
    port: 9000,
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
  ],
};

114. ts-node - TypeScript 运行时

ts-node 是一个执行 TypeScript 代码的 Node.js 工具,它允许你在不先编译 TypeScript 文件的情况下直接运行它们。

# 安装 ts-node
npm install ts-node --save-dev

# 直接运行 TypeScript 文件
npx ts-node your_script.ts

115. nodemon - 自动重启 Node.js 应用

nodemon 是一个工具,用于在文件更改时自动重启 Node.js 应用,非常适合在开发过程中使用。

# 安装 nodemon
npm install nodemon --save-dev

# 使用 nodemon 运行应用
npx nodemon your_script.js

116. yarn - 另一种包管理器

yarn 是一个快速、可靠的包管理器,与 npm 类似,但提供了更优的性能和更准确的依赖解析。

# 安装 yarn(全局)
npm install -g yarn

# 使用 yarn 安装依赖
yarn install

# 运行脚本
yarn start

117. cross-env - 跨平台设置环境变量

cross-env 是一个用于在不同的环境中设置环境变量的工具,它允许你在 .env 文件中定义环境变量,并在 Node.js 应用中使用。

# 安装 cross-env
npm install cross-env --save-dev

# 在 package.json 中使用 cross-env
"scripts": {
  "start": "cross-env NODE_ENV=production node app.js"
}

118. dotenv-webpack - Webpack 环境变量加载器

dotenv-webpack 是一个用于在 Webpack 项目中加载 .env 文件的插件。

# 安装 dotenv-webpack
npm install dotenv-webpack --save-dev

# 在 Webpack 配置中使用 dotenv-webpack
const Dotenv = require('dotenv-webpack');

module.exports = {
  // ...其他配置
  plugins: [
    new Dotenv(),
  ],
};

119. jsdom - DOM 操作和模拟浏览器环境

jsdom 是一个纯 JavaScript 实现的 DOM 操作库,它提供了一个模拟浏览器环境,用于在 Node.js 中处理 HTML 和 DOM。

# 安装 jsdom
npm install jsdom --save-dev

// 使用 jsdom 创建一个 DOM 环境
const jsdom = require('jsdom');
const { JSDOM } = jsdom;

const dom = new JSDOM('<!DOCTYPE html><html><body>Hello world</body></html>');
const { window } = dom;
global.window = window;
global.document = window.document;
global.navigator = {
  userAgent: 'node.js'
};

120. puppeteer - 无头浏览器自动化

puppeteer 是一个 Node.js 库,提供了一套高级 API 来控制无头 Chrome 或 Chromium,非常适合进行网页截图、PDF 生成、UI 测试等自动化任务。

# 安装 puppeteer
npm install puppeteer --save-dev

// 使用 puppeteer 进行自动化操作
const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({ path: 'example.png' });
  await browser.close();
})();

总结

        这些工具和库覆盖了 Node.js 开发的多个方面,从代码质量检查、测试、开发服务器、TypeScript 支持、自动重启、环境变量管理、Webpack 配置、跨平台操作到无头浏览器自动化。掌握这些工具将帮助你构建更加健壮、高效和可维护的 Node.js 应用。随着你的项目需求不断增长,Node.js 的生态系统中总有新的工具和命令等待你去发现和利用。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值