You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Next.js项目启动时运行自定义Hook/函数?求解决方案

在Next.js启动时执行console.log的几种方案

方案1:直接在next.config.js中添加日志

Next.js启动时会加载next.config.js文件,你可以直接在这个文件里写入console.log,启动项目时会自动执行:

/** @type {import('next').NextConfig} */
const nextConfig = {
  // 你的项目配置项
  reactStrictMode: true,
}

// 启动时会输出这条日志
console.log('✅ Next.js项目开始启动')

module.exports = nextConfig

方案2:修改package.json的启动脚本

在启动命令前追加一段Node.js执行语句,先输出日志再启动Next.js:
打开package.json,修改scripts里的dev(或start)命令:

{
  "scripts": {
    "dev": "node -e \"console.log('🚀 正在启动开发服务器...')\" && next dev",
    "start": "node -e \"console.log('🌐 生产服务器启动中...')\" && next start"
  }
}

执行npm run dev或npm run start时,会先打印日志,再启动Next.js服务。

方案3:使用自定义服务器文件

如果需要更复杂的启动逻辑,可以创建自定义服务器文件,在启动Next.js前添加日志:

  1. 若使用express框架,先安装依赖:
npm install express
  1. 创建server.js文件:
const express = require('express')
const next = require('next')

const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()

// 启动前输出日志
console.log('🔧 准备初始化Next.js应用...')

app.prepare().then(() => {
  const server = express()

  server.all('*', (req, res) => {
    return handle(req, res)
  })

  server.listen(3000, (err) => {
    if (err) throw err
    console.log('> Ready on http://localhost:3000')
  })
})
  1. 修改package.json的启动脚本:
{
  "scripts": {
    "dev": "node server.js",
    "start": "NODE_ENV=production node server.js"
  }
}

内容的提问来源于stack exchange,提问作者dasunekanayake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 20:14:55