如何在 Node.js 项目中使用 date-fns?

How to use date-fns in a Node.js project?

我按照 https://www.npmjs.com/package/date-fns

上的以下说明安装了 date-fns
npm install date-fns --save

之后,我的 package.json 更新为以下条目:

{
  "dependencies": {
    "date-fns": "^2.23.0"
  }
}

然后,我根据https://date-fns.org/写了下面的代码,结果报错了:

import { format, formatDistance, formatRelative, subDays } from 'date-fns'

format(new Date(), "'Today is a' eeee")

错误:

import { format, formatDistance, formatRelative, subDays } from 'date-fns'
       ^

SyntaxError: Unexpected token {
    at Module._compile (internal/modules/cjs/loader.js:703:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
    at Module.load (internal/modules/cjs/loader.js:628:32)
    at Function.Module._load (internal/modules/cjs/loader.js:555:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:822:10)
    at internal/main/run_main_module.js:17:11

[Done] exited with code=1 in 0.143 seconds

node -v:

v12.2.0

您可能遇到了语法错误,因为您直接从文档中复制粘贴了代码。尝试按如下方式导入库。它应该工作得很好。

import { format, formatDistance, formatRelative, subDays } from 'date-fns';

const mDate= format(new Date(2014, 1, 11), 'MM/dd/yyyy');
console.log(mDate);

我通过使用 require 成功地 运行 它,如下所示:

const fns = require('date-fns')

console.log(fns.format(new Date(), "'Today is a' eeee"))

更新:

我按照 this answer 中的说明安装了节点 v16.6.1,现在我可以 运行 成功地执行以下代码:

import { format } from 'date-fns';

console.log(format(new Date(), "yyyy-MM-dd'T'HH:mm:ss.SSS"));