Ecmascript 6 仅从存储多个函数的导出常量显式导入一个函数
我在一个文件helper.js中存储了一个常数,如下所示Ecmascript 6 仅从存储多个函数的导出常量显式导入一个函数,ecmascript-6,import,javascript-import,Ecmascript 6,Import,Javascript Import,我在一个文件helper.js中存储了一个常数,如下所示 export const Helper = { a() { return "This is just a string" }, convertToSlug(str) { return str .toLowerCase() .replace(/[^\w ]+/g, "") .replace(/ +/g, "-")
export const Helper = {
a() {
return "This is just a string"
},
convertToSlug(str) {
return str
.toLowerCase()
.replace(/[^\w ]+/g, "")
.replace(/ +/g, "-")
}
}
从这里,我只想在另一个文件中导入convertToSlug函数,如下所示
import { convertToSlug } from "helper.js"
怎么做?我尝试了同样的方法,但出现了错误
"export 'convertToSlug' was not found in '@/utils/helper'
如果希望
从“helper.js”
导入{convertToSlug}以工作,则需要一个名为convertToSlug
的导出。现在,您已经将所有内容分组到Helper
中,但似乎没有任何原因。看起来你很可能想要
export function a() {
return "This is just a string"
}
export function convertToSlug(str) {
return str
.toLowerCase()
.replace(/[^\w ]+/g, "")
.replace(/ +/g, "-")
}
嗨@loganfsmyth,谢谢你的回答。是的,我知道如果我们将所有功能作为单独的导出导出,我们可以像预期的那样导入。我尝试的是,当我们将所有函数导出到一个常量中,然后将其作为一个对象导入,该对象将所有函数都作为对象。所以,难道不能像物体破坏一样导入它吗,这就是我想知道的。无论如何,非常感谢你的回答。那么答案就是你不能那样做。您必须导入
Helper
,然后执行Helper.convertToSlug()
或执行const{convertToSlug}=Helper代码>分别导出,这就是为什么在单个对象中导出一组辅助函数的模式是一个坏主意。它的人体工程学不好,几乎没有理由这样做。