TypeError:格式不是 date-fns 中的函数
Posted
技术标签:
【中文标题】TypeError:格式不是 date-fns 中的函数【英文标题】:TypeError: format is not a function in date-fns 【发布时间】:2019-03-18 07:33:17 【问题描述】:我正在从 moment 迁移到 date-fns 并关注官方网站上的文档。
我已经从 npm 安装了 date-fns,当我尝试使用时出现此错误:
TypeError:格式不是函数
我尝试过 import,require 但它们都给出了同样的错误。
var format = require('date-fns/format')
import format from 'date-fns/format'
typeof(format) 也返回 undefined。
在 Nodejs 上使用 v1.29.0
【问题讨论】:
【参考方案1】:来自文档。
import format from 'date-fns';
【讨论】:
对于节点:const format = require("date-fns");
【参考方案2】:
我按照与您相同的步骤进行操作,对我来说效果很好。
最重要的:将您的节点版本升级到 v8.X 或更高版本。我使用的是节点 v10.8.0。您可以关注here 升级版本。
该库以 npm 包、Bower 包的形式提供,也通过 CDN 分发。
您可以按照以下步骤正确使用它:
第一步:首先,您可以通过运行以下命令来安装软件包。 (你可能会忘记安装包)
npm install date-fns --save
or
yarn add date-fns .
第 2 步:它用于获取各种格式的格式化日期字符串,如果您使用的是 ES15 标准,则可以通过在代码中添加以下行来导入包。 p>
import format from 'date-fns/format'
第 3 步: 使用语法如下,官方文档中给出了各种格式的列表。可以参考here
format(date, [format='YYYY-MM-DDTHH:mm:ss.SSSZ', [options]])
第 4 步:为了更好地理解这里是一个简单的例子:
var result = format(
new Date(2014, 1, 11),
'MM/DD/YYYY'
)
console.log('Result: ',result);
结论:我尝试了以上所有步骤,在控制台中得到了以下结果:
Result: 02/11/2014
或者: 尝试使用 REPL 运行后续代码。第 1 步: 打开终端并运行命令 sudo node
第 2 步:将以下代码复制并粘贴到您的终端中
var format = require('date-fns/format');
var result = format(
new Date(2014, 1, 11),
'MM/DD/YYYY'
)
console.log('Result: ',result);
第 3 步: 按回车键,您将在您的 终端控制台。
【讨论】:
能否请您检查节点版本。必须是 v8.x 或更高版本。 Nodejs 版本 10 尝试使用 REPL 在终端中运行此代码。 var format = require('date-fns/format'); var result = format(new Date(2014, 1, 11), 'MM/DD/YYYY') console.log('Result: ',result);【参考方案3】:我已经设法通过在 tsconfig.json 中添加 "esModuleInterop": true 来修复它。
【讨论】:
以上是关于TypeError:格式不是 date-fns 中的函数的主要内容,如果未能解决你的问题,请参考以下文章
获取 date-fns 中两个日期之间的持续时间,以天:小时:分钟:秒格式
使用 date-fns 格式化持续时间(从 seconds 开始)