Javascript 当给定相同的结构时,为什么require的行为与import不同

Javascript 当给定相同的结构时,为什么require的行为与import不同,javascript,reactjs,Javascript,Reactjs,在importvsrequire方面,我似乎根本不了解。从我所读到的内容中,我知道区别在于require是基于模块加载器的,比如CommonJS,而import实际上是一个ES6功能 假设: import ExamplePost from 'example-post.md' 这是一个导入示例,带有适当的loader和I 在我的React render函数中设置如下: render () { return <ExamplePost /> } 不幸的是,它不起作用,我得到:Exa

import
vs
require
方面,我似乎根本不了解。从我所读到的内容中,我知道区别在于
require
是基于模块加载器的,比如
CommonJS
,而import实际上是一个ES6功能

假设:

import ExamplePost from 'example-post.md'
这是一个导入示例,带有适当的loader和I 在我的React render函数中设置如下:

render () {
  return <ExamplePost />
}
不幸的是,它不起作用,我得到:
ExamplePost没有定义

我在文档顶部设置了两个示例。我还检查了这两个版本,我发现结果有所不同:

ES6导入返回:
[函数]

要求返回:
Object[Module]{default:[Function]}


帮助我正确理解为什么上面的require不起作用?

您可以导入模块的默认导出和require模块本身

const ExamplePost = require(`${postName}.md`).default


还要检查一下

谢谢你,这是一个非常有用的答案
const ExamplePost = require(`${postName}.md`).default