小编典典

什么是ReactJS的“需求”功能?

reactjs

以下面的示例代码为例。

require('react-bootstrap-datetimepicker');

...

render: function() {
  return <DateTimeField />;
}

该datatimepicker是第三方库,可以在自己的代码中使用,但如果我添加一段代码在JS,萤火虫会告诉我, 要求
不能被发现。如果我应该翻译一段代码或执行某些操作?非常感谢


阅读 212

收藏
2020-07-22

共1个答案

小编典典

require函数旨在将单独的代码段(“模块”)添加到当前范围,该功能直到ES2015规范才成为JavaScript /
ECMAScript语言的一部分

因此,此函数 并非 特定于ReactJS,也不是该语言的一部分,这就是为什么当您尝试在原始浏览器环境中使用Firefox时引发错误的原因。

使用require以加载模块同步通常是被称为CommonJS的方法。尽管诸如Node.js之类的环境提供了类似于此规范的模块API,但浏览器却没有提供;因此您必须自己带来该功能。

这样做有很多选择,由您选择最适合您的工作流程和个人品味的选择。但总体而言,模式可以归结为以下两种:

  • 在浏览器中明确使用模块加载器: 使用<script>标签,加载诸如SystemJS之类的加载器,然后立即使用它加载您自己的代码。
  • 将您的代码 绑定 到一个脚本: 使用诸如BrowserifyWebpackJSPM之类的打包器,并使用单个<script>标签加载结果。捆绑器带来了自己的模块加载器。

通常,第二个选项更针对生产环境,而第一个选项在开发环境中更实用。

2020-07-22