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

在Node.js Express应用中使用date-fns包触发TypeError问题咨询

报错原因

你执行的引入逻辑将date-fns导出的完整工具对象赋值给了format变量,format仅为该对象下挂载的子方法,直接调用变量会触发如下错误:

TypeError: format is not a function

正确引入方案
  • 方案1:解构引入指定方法(推荐)
    该写法支持打包工具摇树优化,剔除未使用的方法减少产物体积,引入代码如下:

    const { format } = require('date-fns');
    

    引入后即可直接调用format方法,使用示例:

    // 格式化当前时间为 年-月-日 时:分:秒 格式
    const formattedNow = format(new Date(), 'yyyy-MM-dd HH:mm:ss');
    
  • 方案2:全量引入后按属性调用
    如果项目需要使用date-fns的多个工具方法,可全量引入包后通过属性访问调用对应方法:

    const dateFns = require('date-fns');
    // 调用format方法
    const formattedNow = dateFns.format(new Date(), 'yyyy-MM-dd HH:mm:ss');
    // 可同步调用其他内置方法,例如计算两个日期的间隔天数
    const diffDays = dateFns.differenceInDays(new Date(2024, 5, 1), new Date(2024, 4, 1));
    

以上两种写法适配所有date-fns稳定版本,可直接在Node.js CommonJS环境下使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 05:36:05