【问题标题】:module.exports Cannot set property of undefinedmodule.exports 无法设置未定义的属性
【发布时间】:2017-11-15 17:21:51
【问题描述】:

我正在尝试将所有反应组件移动到单独的存储库中,以便可以共享它们。我收到上述错误

ui-react/index.js

'use strict';

import Button from "./components/Button/Button";

module.exports.Button = Button;

文件B

import  {Button} from  'ui-react';

当我这样做时,我收到一个错误。

'ui-react' does not contain an export named 'Button' 

PS:在 ui-react 的 package.json 中,我将 main 设置为 index.js,我也尝试过 import "ui-react/index"

【问题讨论】:

  • 你为什么用module.exports而不是export { Button };?通常混合模块格式是个坏主意。
  • 缺乏知识
  • 很公平! :)
  • 你能分享更多关于这个的链接或启发我
  • 您可以阅读2ality.com/2014/09/es6-modules-final.html 或任何数量的其他关于 ES6 模块语法的帖子。 require 和 module.exports 是替代 CommonJS 模块格式的一部分。主要的是你不应该真的同时使用两者。一些构建工具确实允许这样做,但它通常会导致这样的混乱。

标签: javascript ecmascript-6 es6-modules


【解决方案1】:

无需编写module.exports。你可以写

export { Button };

【讨论】:

  • 这个答案被低估和记录不足!所有 Node 模块文档都指向module.exports。
猜你喜欢
  • 2021-11-27
  • 2022-10-30
  • 2023-02-10
  • 2015-12-07
  • 2013-05-28
  • 2016-02-23
  • 2011-11-20
相关资源
最近更新 更多