【问题标题】:Module '...' resolves to a non-module entity and cannot be imported using this construct模块“...”解析为非模块实体,无法使用此构造导入
【发布时间】:2016-05-18 13:41:53
【问题描述】:

我有一个 .tsx 文件,我正在尝试从 material-ui 导入 RaisedButton 组件,如下所示:

import * as RaisedButton from 'material-ui/lib/raised-button'

但是,这给了我标题中描述的错误,任何想法我可能做错了什么?

【问题讨论】:

  • 你是如何从raised-button 导出东西的?您使用的是什么模块格式?

标签: typescript material-ui


【解决方案1】:

这是来自material-ui.d.ts 文件。

export import RaisedButton = __MaterialUI.RaisedButton; // require('material-ui/lib/raised-button');

所以你应该像这样导入它。

import RaisedButton = require('material-ui/lib/raised-button');

【讨论】:

  • 是的,我搞定了。你能解释一下为什么会这样吗?这是导出/导入模块的新标准吗? import x from '...' 和有什么区别? import * as x from '...' 和 import x = require('...') ?
  • 这可能会令人困惑。新的导入语法适用于 ES6 模块。 require() 用于 AMD/CommonJS,material-ui 使用 export default {} 执行此操作。这个答案可以更好地解释它。 stackoverflow.com/questions/29596714/…
猜你喜欢
  • 2017-12-12
  • 2019-01-29
  • 2017-01-17
  • 2018-01-28
  • 1970-01-01
  • 2014-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多