JavaScript - 未找到导出默认值

Lef*_*eff 33 javascript import module ecmascript-6 vue.js

我有一个Vue 2项目,我编写了一个简单的函数来翻译几个月的日期,我想在我的一个组件中导入,但是我收到一个错误:

在'@/utils/date-translation'中找不到导出'default'(导入为'translateDate')

来自src文件夹的相对文件路径是正确的,我正在导出这样的函数:

export function translateDate(date) {
  // my code
}
Run Code Online (Sandbox Code Playgroud)

然后我在组件中导入它,如下所示:

import translateDate from '@/utils/date-translation'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Dan*_*sky 33

您必须default明确指定:

export default function translateDate(date) {
   ..
}
Run Code Online (Sandbox Code Playgroud)


Ale*_*x D 19

default如上所述指定,或者如果您尝试从同一文件导出多个项目,则需要使用大括号导入它们.

所以你会:

export function doWork(){}
export const myVariable = true;
Run Code Online (Sandbox Code Playgroud)

然后你将它们导入到一个单独的文件中:

import { doWork, myVariable} from "./myES6Module"
Run Code Online (Sandbox Code Playgroud)

  • 当我使用您提供的代码时,出现以下问题:在“ ./mymodule”中找不到“导出'默认'(导入为'doWork') (4认同)
  • 我使用花括号,并导出该函数。仍然收到此错误 (2认同)

pus*_*ack 5

就我而言,我必须删除导入组件周围的“{”和“}”:

import { CustomComponent } from './CustomComponent';
Run Code Online (Sandbox Code Playgroud)

import CustomComponent from './CustomComponent';
Run Code Online (Sandbox Code Playgroud)

  • 也为我工作过。但为什么? (7认同)
  • 我必须添加“{}”来删除该消息 (6认同)
  • 为什么这样做的原因/sf/ask/2575707361/ (2认同)