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

Express.js报错TypeError: app.listen is not a function 求助

问题解决:TypeError: app.listen is not a function

核心错误原因

你初始化Express应用时,没有调用express()函数创建实例,而是直接把express模块本身赋值给了app变量。express模块是一个构造函数,必须执行它才能生成具备listen、get等方法的应用实例。

修正步骤

  1. 修复Express应用初始化
    将:

    const app = express;
    

    修改为:

    const app = express();
    
  2. 额外优化(可选但推荐)

    • Discord.js的intents参数拼写错误:GUILD_MESSSAGES多了一个S,应改为GUILD_MESSAGES
    • 在Discord.js v13及以上版本中,message事件已被废弃,替换为messageCreate事件,避免后续版本兼容问题

修正后的完整代码:

const express = require("express");
const app = express(); // 添加()创建应用实例

app.listen(3000,  () => {
  console.log("project is running!");
})

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

const Discord = require("discord.js") // 模块名小写符合npm规范
const client = new Discord.Client({intents: ["GUILDS", "GUILD_MESSAGES"]}); // 修正intents拼写错误

client.on("messageCreate", message => { // 替换为官方推荐的messageCreate事件
  if(message.content === "wanna hear a joke") {
    message.channel.send("Shut up.")
  }
})

client.login(process.env.token);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:05:24