首页 > 解决方案 > 将“date-fns”导入 Svelte 模块时出错

问题描述

尝试构建我的 Svelte 应用程序时出现以下错误:

[!] Error: 'default' is not exported by node_modules\date-fns\esm\index.js, imported by src\components\Month.svelte
https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
src\components\Month.svelte (2:11)
1: <script>
2:     import dateFns from 'date-fns';

我先跑了npm install date-fns,所以这个包存在于我的项目中。我正在使用使用 degit 模板创建的默认汇总配置。

关于如何让它发挥作用的任何想法?

干杯!

标签: npmsvelterollupsvelte-3date-fns

解决方案


如错误消息所述,它可能date-fns不具有默认导出功能。尝试按名称导入您需要的方法,例如:

import { format, compareAsc } from 'date-fns'

format(new Date(2014, 1, 11), 'MM/dd/yyyy')
//=> '02/11/2014'

const dates = [
  new Date(1995, 6, 2),
  new Date(1987, 1, 11),
  new Date(1989, 6, 10),
]
dates.sort(compareAsc)
//=> [
//   Wed Feb 11 1987 00:00:00,
//   Mon Jul 10 1989 00:00:00,
//   Sun Jul 02 1995 00:00:00
// ]

您可能还必须根据您的特定要求导入特定的子模块和/或语言环境。date-fns 文档非常详尽,您应该在那里找到所需的所有答案。


推荐阅读