【问题标题】:javascript: ReferenceError: exports is not definedjavascript:ReferenceError:未定义导出
【发布时间】:2018-03-16 22:38:11
【问题描述】:

es6/Babel:我的文件夹是这样的:

A/
    index.js
    a.js
    ...other

我通过index.js文件暴露a.js的内容如下:

export { foo, bar } from './a';

以便我可以使用以下方式导入它:

import { foo, bar } from '../A';

但是现在,我想在index.js 中使用*,这样万一我从a.js 导出另一个东西,它就会自动暴露:

export * from './a';

但是当我这样做时,我得到了这个错误:

未捕获的引用错误:未定义导出

我在这里做错了什么?

【问题讨论】:

  • @Andy 你能澄清一下吗
  • @Andy 显然 OP 使用的环境确实理解导入/导出,因为只有在使用 export * from 时才会出现错误:p
  • 你必须使用像 babel 或 traceur 这样的编译器来将其转换为 ES2015
  • am 使用 Babel 转译器(抱歉没有提及)

标签: javascript node.js import module ecmascript-6


【解决方案1】:

来自MDN

以下语法不会从导入的模块导出默认导出:

export * from …;

如果您需要导出默认值,请改写以下内容:

import mod from './a';
export default mod;

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 2017-12-12
    • 2017-09-14
    • 2017-11-17
    • 2017-08-19
    • 2019-11-16
    • 2021-03-03
    • 1970-01-01
    相关资源
    最近更新 更多