当前位置:   article > 正文

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

【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 库,它提供了一系列的函数来帮助处理数组、数字、对象、字符串等。

  1. # 安装 lodash
  2. npm install lodash
  3. # 使用 lodash 进行数组操作
  4. const _ = require('lodash');
  5. const numbers = [1, 2, 3, 4, 5];
  6. const doubled = _.map(numbers, (n) => n * 2);

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

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

  1. # 安装 moment-timezone
  2. npm install moment-timezone
  3. # 使用 moment-timezone 处理时区
  4. const moment = require('moment-timezone');
  5. const now = moment().tz('America/New_York').format();
  6. console.log('Current time in New York:', now);

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

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

  1. # 安装 js-yaml
  2. npm install js-yaml
  3. # 使用 js-yaml 解析 YAML
  4. const yaml = require('js-yaml');
  5. const doc = yaml.load('name: John Doe\nage: 42');
  6. console.log(doc);

94. handlebars - 模板引擎

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

  1. # 安装 handlebars
  2. npm install handlebars
  3. # 使用 handlebars 渲染模板
  4. const handlebars = require('handlebars');
  5. const template = handlebars.compile('Hello, {{name}}!');
  6. const html = template({ name: 'John' });
  7. console.log(html);

95. marked - Markdown 解析器

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

  1. # 安装 marked
  2. npm install marked
  3. # 使用 marked 解析 Markdown
  4. const marked = require('marked');
  5. const markdown = '# Markdown Example\n\nThis is some **bold** text.';
  6. const html = marked(markdown);
  7. console.log(html);

96. nodemailer - 邮件发送库

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

  1. # 安装 nodemailer
  2. npm install nodemailer
  3. # 使用 nodemailer 发送邮件
  4. const nodemailer = require('nodemailer');
  5. const transporter = nodemailer.createTransport({
  6. service: 'gmail',
  7. auth: {
  8. user: 'your_email@gmail.com',
  9. pass: 'your_password'
  10. }
  11. });
  12. const mailOptions = {
  13. from: 'your_email@gmail.com',
  14. to: 'recipient_email@example.com',
  15. subject: 'Test Email',
  16. text: 'This is a test email'
  17. };
  18. transporter.sendMail(mailOptions, (error, info) => {
  19. if (error) {
  20. console.log(error);
  21. } else {
  22. console.log('Email sent: ' + info.response);
  23. }
  24. });

97. restify - REST API 框架

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

  1. # 安装 restify
  2. npm install restify
  3. # 使用 restify 创建 REST API
  4. const restify = require('restify');
  5. const server = restify.createServer();
  6. server.get('/', (req, res) => {
  7. res.send('Hello, RESTful world!');
  8. });
  9. server.listen(8080, () => {
  10. console.log('%s listening at %s', server.name, server.url);
  11. });

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

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

  1. # 安装 react 和 react-dom
  2. npm install react react-dom
  3. // 使用 react 构建组件
  4. import React from 'react';
  5. import ReactDOM from 'react-dom';
  6. const App = () => <div>Hello, React!</div>;
  7. ReactDOM.render(<App />, document.getElementById('root'));

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

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

  1. # 创建一个新的 next.js 应用
  2. npx create-next-app my-next-app
  3. # 运行 next.js 应用
  4. cd my-next-app
  5. npm run dev

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

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

  1. # 安装 vue.js
  2. npm install vue
  3. // 使用 vue 创建组件
  4. new Vue({
  5. el: '#app',
  6. template: '<h1>{{ message }}</h1>',
  7. data: {
  8. message: 'Hello Vue!'
  9. }
  10. });

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

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

  1. # 安装 socket.io-redis
  2. npm install socket.io-redis
  3. # 使用 socket.io-redis 作为适配器
  4. const server = require('http').createServer();
  5. const io = require('socket.io')(server);
  6. const redis = require('redis');
  7. const redisAdapter = require('socket.io-redis');
  8. const pub = redis.createClient();
  9. const sub = redis.createClient();
  10. io.adapter(redisAdapter({ pub, sub }));
  11. io.on('connection', (socket) => {
  12. socket.on('message', (msg) => {
  13. console.log('message:', msg);
  14. });
  15. });

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

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

  1. # 使用 node-gyp 编译原生模块
  2. node-gyp configure
  3. node-gyp build

103. node-sass - Sass 编译器

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

  1. # 安装 node-sass
  2. npm install node-sass
  3. # 使用 node-sass 编译 Sass
  4. const sass = require('node-sass');
  5. sass.render({
  6. file: 'path/to/file.scss',
  7. }, (err, result) => {
  8. if (err) throw err;
  9. console.log(result.css.toString());
  10. });

104. bcryptjs - 密码哈希库

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

  1. # 安装 bcryptjs
  2. npm install bcryptjs
  3. # 使用 bcryptjs 进行密码哈希
  4. const bcrypt = require('bcryptjs');
  5. bcrypt.hashpw('rasmuslerdorf', 8, (err, hash) => {
  6. console.log(hash);
  7. });

105. jsonwebtoken - JSON Web Tokens 库

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

  1. # 安装 jsonwebtoken
  2. npm install jsonwebtoken
  3. # 使用 jsonwebtoken 创建 JWT
  4. const jwt = require('jsonwebtoken');
  5. const token = jwt.sign({ name: 'John Doe' }, 'secret_key', {
  6. expiresIn: '1h'
  7. });

106. lodash - 现代 JavaScript 实用库

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

  1. # 安装 lodash
  2. npm install lodash
  3. # 使用 lodash 进行数组操作
  4. const _ = require('lodash');
  5. const numbers = [1, 2, 3, 4, 5];
  6. const doubled = _.map(numbers, (n) => n * 2);

107. moment - 强大的日期库

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

  1. # 安装 moment
  2. npm install moment
  3. # 使用 moment 处理日期
  4. const moment = require('moment');
  5. const now = moment();
  6. console.log(now.format('MMMM Do YYYY, h:mm:ss a'));

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

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

  1. # 安装 axios
  2. npm install axios
  3. # 使用 axios 发送 HTTP 请求
  4. const axios = require('axios');
  5. axios.get('https://api.example.com/data')
  6. .then((response) => {
  7. console.log(response.data);
  8. })
  9. .catch((error) => {
  10. console.log(error);
  11. });

109. webpack - 模块打包工具

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

  1. # 安装 webpack 和 webpack-cli
  2. npm install webpack webpack-cli --save-dev
  3. # 使用 webpack 打包应用
  4. npx webpack --config webpack.config.js

110. prettier - 代码格式化工具

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

  1. # 安装 prettier
  2. npm install prettier --save-dev
  3. # 使用 prettier 格式化代码
  4. npx prettier --write "path/to/file.js"

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

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

  1. # 安装 eslint
  2. npm install eslint --save-dev
  3. # 运行 eslint 检查代码
  4. npx eslint your_script.js

112. jest - JavaScript 测试框架

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

  1. # 安装 jest
  2. npm install jest --save-dev
  3. # 运行 jest 测试
  4. npx jest

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

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

  1. # 安装 webpack-dev-server
  2. npm install webpack-dev-server --save-dev
  3. # 在 webpack 配置中使用 webpack-dev-server
  4. const webpack = require('webpack');
  5. module.exports = {
  6. // ...其他配置
  7. devServer: {
  8. contentBase: './dist',
  9. compress: true,
  10. port: 9000,
  11. },
  12. plugins: [
  13. new webpack.HotModuleReplacementPlugin(),
  14. ],
  15. };

114. ts-node - TypeScript 运行时

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

  1. # 安装 ts-node
  2. npm install ts-node --save-dev
  3. # 直接运行 TypeScript 文件
  4. npx ts-node your_script.ts

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

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

  1. # 安装 nodemon
  2. npm install nodemon --save-dev
  3. # 使用 nodemon 运行应用
  4. npx nodemon your_script.js

116. yarn - 另一种包管理器

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

  1. # 安装 yarn(全局)
  2. npm install -g yarn
  3. # 使用 yarn 安装依赖
  4. yarn install
  5. # 运行脚本
  6. yarn start

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

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

  1. # 安装 cross-env
  2. npm install cross-env --save-dev
  3. # 在 package.json 中使用 cross-env
  4. "scripts": {
  5. "start": "cross-env NODE_ENV=production node app.js"
  6. }

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

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

  1. # 安装 dotenv-webpack
  2. npm install dotenv-webpack --save-dev
  3. # 在 Webpack 配置中使用 dotenv-webpack
  4. const Dotenv = require('dotenv-webpack');
  5. module.exports = {
  6. // ...其他配置
  7. plugins: [
  8. new Dotenv(),
  9. ],
  10. };

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

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

  1. # 安装 jsdom
  2. npm install jsdom --save-dev
  3. // 使用 jsdom 创建一个 DOM 环境
  4. const jsdom = require('jsdom');
  5. const { JSDOM } = jsdom;
  6. const dom = new JSDOM('<!DOCTYPE html><html><body>Hello world</body></html>');
  7. const { window } = dom;
  8. global.window = window;
  9. global.document = window.document;
  10. global.navigator = {
  11. userAgent: 'node.js'
  12. };

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

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

  1. # 安装 puppeteer
  2. npm install puppeteer --save-dev
  3. // 使用 puppeteer 进行自动化操作
  4. const puppeteer = require('puppeteer');
  5. (async () => {
  6. const browser = await puppeteer.launch();
  7. const page = await browser.newPage();
  8. await page.goto('https://example.com');
  9. await page.screenshot({ path: 'example.png' });
  10. await browser.close();
  11. })();

总结

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/977203
推荐阅读
相关标签
  

闽ICP备14008679号