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

Node.js本地模块引入报错:Cannot find module date.js求助

解决Node.js本地模块Cannot find module及导出调用问题

一、先确认文件路径与命名

首先排查最常见的路径问题:

  • 确保date.js和app.js在同一根目录下,文件名完全匹配(注意大小写:Linux/macOS区分大小写,Windows不区分,尽量保持一致避免跨环境问题)
  • 如果用__dirname拼接路径,建议用path模块的join方法避免路径分隔符问题:
    const path = require("path");
    const getDate = require(path.join(__dirname, "date.js"));
    
    直接用"./date.js"在同目录下是完全可行的,出现找不到模块的话先检查文件是否存在、路径是否写错。

二、修正模块导出与调用逻辑

你已经添加了module.exports = getDate,但还存在一个调用错误:

  1. date.js 导出修正:确保导出语句放在函数定义之后,避免导出未定义的内容:
function getDate(){
    let today = new Date();
    let options = {
        weekday : "long",
        day : "numeric", 
        month : "long" 
    }; 
    let day = today.toLocaleDateString("en-US", options);
    return day;
}

// 导出函数,必须放在函数定义之后
module.exports = getDate;
  1. app.js 调用修正:你导入的是函数,需要调用它才能拿到返回的日期值,而且你之前直接用了未定义的day变量:
// 导入date模块的getDate函数
const getDate = require("./date.js");

// 在根路由中调用函数获取日期
app.get("/", function(req, res){
  const day = getDate(); // 调用函数拿到返回值
  res.render('list', {listtitle: day, newitems: items});
});

三、额外排查点

  • 如果date.js放在子目录(比如utils/date.js),路径要对应写成"./utils/date.js"
  • 运行node --clear-module-cache清理模块缓存后重启服务,偶尔缓存会导致模块识别异常
  • 检查项目目录,确保date.js没有被误放到public或views这类静态资源目录中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:53:21