未找到导出默认值
Posted
技术标签:
【中文标题】未找到导出默认值【英文标题】:Export default was not found 【发布时间】:2018-02-10 05:13:21 【问题描述】:我有一个 Vue 2 项目,我已经编写了一个简单的函数来转换日期中的月份,我想将它导入到我的一个组件中,但出现错误:
在“@/utils/date-translation”中找不到导出“默认”(导入为“translateDate”)
src 文件夹的相对文件路径是正确的,我正在导出这样的函数:
export function translateDate(date)
// my code
然后我像这样在组件中导入它:
import translateDate from '@/utils/date-translation'
我做错了什么?
【问题讨论】:
使用export default function...
并查看What is "export default" in javascript?的答案
What is "export default" in javascript?的可能重复
“我做错了什么?” 您正在尝试导入没有默认导出的模块的默认导出。该模块只有一个命名导出,translateDate
。你应该看看When should I use curly braces for ES6 import? 接受的答案
【参考方案1】:
也许你有两个同名文件。例如“test.vue”和“test.js”
【讨论】:
【参考方案2】:在我的情况下,我必须删除导入组件周围的“”和“”:
import CustomComponent from './CustomComponent';
与
import CustomComponent from './CustomComponent';
【讨论】:
我必须添加
才能删除该消息
也为我工作。但为什么呢?
我删除了 但我不知道为什么这样可以解决这个问题,我使用的是 Laravel8 和 vue 2。【参考方案3】:
您需要在 vue.config.js 中设置符号链接设置
config.resolve.symlinks(false);
【讨论】:
【参考方案4】:或者如上所述指定default
,或者如果您尝试从同一个文件中导出多个项目,则需要使用大括号将它们导入。
所以你会:
export function doWork()
export const myVariable = true;
然后您将它们导入到单独的文件中:
import doWork, myVariable from "./myES6Module"
【讨论】:
当我使用您提供的代码时,我遇到了这个问题:"export 'default' (imported as 'doWork') was not found in './mymodule' 那是因为你没有导出你想在你的模块中导出的东西,或者你使用了不同的名字。使用命名导出时,您需要在两个文件中使用相同的名称。 如果我的函数如下所示:export const function = (arg) => 我使用花括号,并导出函数。仍然收到此错误【参考方案5】:您必须明确指定default
:
export default function translateDate(date)
..
【讨论】:
以上是关于未找到导出默认值的主要内容,如果未能解决你的问题,请参考以下文章