在import
与require
方面,我似乎根本不了解。从我读过的书中,我知道不同之处在于require
基于CommonJS
之类的模块加载程序,而导入实际上是ES6功能。
假设以下内容:
import ExamplePost from 'example-post.md'
这是使用MDX JS作为适当的加载程序的示例导入,我 在我的React渲染函数中设置如下:
render () {
return <ExamplePost />
}
上面的方法很好用,但是
因为我想动态加载不同的Markdown文件,并且我已经知道ES6 import
是静态的,所以我打算这样做:
let postName = 'example-post'
const ExamplePost = require(`${postName}.md`)
不幸的是,它不起作用,我得到:ExamplePost is not defined
我在文档顶部都设置了两个示例。我还检查了这两个版本,并看到结果有所不同:
ES6导入返回:[Function]
要求退货:Object [Module] { default: [Function] }
帮助使我正确地理解为什么上面的require不能正常工作吗?
答案 0 :(得分:2)
您public void FacebookLogin()
{
if (FB.IsLoggedIn)
{
FB.LogOut(); //it doesn't work, user is still logged in
return;
}
var permissions = new List<string>() {"email"};
FB.LogInWithReadPermissions(permissions); //t
}
默认导出模块,import
模块本身。
require
请参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import