Ecmascript 6 仅从存储多个函数的导出常量显式导入一个函数

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, "-")

我在一个文件helper.js中存储了一个常数,如下所示

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分别导出,这就是为什么在单个对象中导出一组辅助函数的模式是一个坏主意。它的人体工程学不好,几乎没有理由这样做。