当前位置: 首页 > news >正文

npm run 常见脚本

ackage.json 文件中 scripts 部分的脚本是为项目预定义的命令行快捷方式,可以通过 npm run <脚本名称> 来执行,大大简化了开发、构建和管理过程。


总体概览

这些脚本可以分为三大类:

  1. Next.js 核心命令:用于开发、构建和启动应用。

  2. 数据库管理:用于设置和重置数据库。

  3. 日志查看:用于查看不同类型的应用日志。


脚本详解

Next.js 核心命令
  • start

    • 命令: npm run start 或 npm start

    • 执行: next start

    • 作用: 在生产模式下启动应用服务器。这个命令必须在运行 npm run build 之后才能使用。它会启动一个经过优化的、用于线上环境的服务器。

  • dev

    • 命令: npm run dev

    • 执行: next dev

    • 作用: 在开发模式下启动应用。这是开发过程中最常用的命令。它会启动一个开发服务器,提供热重载(Hot-Reloading)、错误提示等功能,让你在修改代码后能立即看到效果。

  • build

    • 命令: npm run build

    • 执行: next build

    • 作用: 为你的应用创建一个用于生产环境的优化版本。它会进行代码压缩、打包、静态页面生成等优化操作,并将结果输出到 .next 文件夹。部署应用到服务器前必须执行此命令。

  • lint

    • 命令: npm run lint

    • 执行: next lint

    • 作用: 运行代码检查工具(通常是 ESLint),分析代码中潜在的错误、不规范的写法或风格问题,以保证代码质量和团队风格的统一。

数据库管理
  • db:setup

    • 命令: npm run db:setup

    • 执行: node scripts/setup-database.js

    • 作用: 运行一个自定义的 Node.js 脚本来设置数据库。这个脚本通常会执行创建数据表、插入初始数据(seeding)等操作。当你第一次搭建项目环境时会用到它。

  • db:reset

    • 命令: npm run db:reset

    • 执行: echo '请手动清空MySQL数据库表,然后运行 npm run db:setup' && exit 1

    • 作用: 这是一个安全提示脚本,而不是一个自动化的重置脚本。它不会真的去重置数据库,而是:

      1. 在控制台打印一条消息:“请手动清空MySQL数据库表,然后运行 npm run db:setup”。

      2. exit 1 会让命令以一个错误码退出,表示操作没有“成功”执行。

    • 目的: 防止开发者意外地执行一个命令就清空了所有数据。它强制你必须手动去数据库客户端(如 Navicat, DataGrip 等)清空表,然后再运行 db:setup 来重新初始化。

日志查看

这些脚本都依赖于一个自定义的日志查看工具 scripts/view-logs.js。

  • logs

    • 命令: npm run logs

    • 执行: node scripts/view-logs.js

    • 作用: 查看日志的默认操作。具体行为取决于 view-logs.js 脚本的实现,可能默认是显示最近的几条日志。

  • logs:list

    • 命令: npm run logs:list

    • 执行: node scripts/view-logs.js list

    • 作用: 查看日志列表。list 参数可能会让脚本列出所有可用的日志文件或者对日志进行一个概览。

  • logs:tail

    • 命令: npm run logs:tail

    • 执行: node scripts/view-logs.js tail

    • 作用: 实时跟踪日志。类似于 Linux 命令 tail -f,它会持续监听日志文件的末尾,并将新产生的日志实时输出到控制台。这对于线上调试或观察应用实时动态非常有用。

  • logs:error

    • 命令: npm run logs:error

    • 执行: node scripts/view-logs.js error

    • 作用: 筛选并只显示错误日志。error 参数会告诉脚本过滤掉普通信息(INFO)或调试(DEBUG)级别的日志,只展示错误(ERROR)或警告(WARN)级别的日志,方便快速定位问题。

http://www.dtcms.com/a/321201.html

相关文章:

  • BGP协议笔记
  • 【新启航】航空飞机起落架深孔型腔的内轮廓测量方法探究 - 激光频率梳 3D 轮廓检测
  • 2025华数杯数学建模A题【 多孔膜光反射性能的优化与控制】原创论文讲解(含完整python代码)
  • 避免“卡脖子”!如何减少内存I/O延迟对程序的影响?
  • 机器学习——支持向量机(SVM)实战案例
  • 操作系统-实验-进程
  • 机器学习之支持向量机(原理)
  • svm的一些应用
  • 怎么查看Linux I2C总线挂载了那些设备?
  • springboot整合rabbitMQ的示例
  • Elasticsearch:在向量搜索中使用 Direct IO
  • 解码华为云安全“铁三角”:用“分层防御”化解安全挑战
  • 微软披露Exchange Server漏洞:攻击者可静默获取混合部署环境云访问权限
  • 企业AI的双层技术栈架构:融合社区创新与企业级管控的设计蓝图
  • Git 使用场景笔记
  • DuoPlus支持导入文件批量配置云手机参数,还优化了批量操作和搜索功能!
  • 数据结构--哈希表
  • QAGenerationChain从知识库生成大模型应用测试的问题对
  • LeetCode算法日记 - Day 5: 长度最小的子数组、无重复字符的最长子串
  • 【uni-app】解决在 h5 环境下会出现双标题问题
  • 内核的调试和优化
  • Netty-Rest搭建笔记
  • 微算法科技(NASDAQ:MLGO)使用循环QSC和QKD的量子区块链架构,提高交易安全性和透明度
  • 降低程序运行时CPU和GPU峰值占用的技术方案
  • 基于深度学习的鸟类检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • ROHM推出适用于Zone-ECU的高性能智能高边开关!
  • 【unitrix数间混合计算】2.3 标准化处理系统(src/number/normalize/mod.rs)
  • Alkimi 与 Sui 合作,修复「破碎」的广告生态
  • HarmonyOS多设备资源文件管理以及resources资源引用方式
  • 交换机100G模块远距离连接踩坑记录