什么是'require'功能是ReactJS?

时间:2015-09-17 06:08:58

标签: javascript reactjs

以下面的示例代码为例。

this.substring(k, m+1)

datatimepicker是可以在我自己的代码中使用的第三方库,但是如果我在js中添加了一段代码,那么firebug将告诉我无法找到 require 。如果我应该翻译这段代码或做些什么?非常感谢

2 个答案:

答案 0 :(得分:2)

require函数旨在向当前作用域添加单独的代码片段(“模块”),这一特性在ES2015 specification之前不属于JavaScript / ECMAScript语言的一部分。

因此,此功能不是特定于ReactJS,并且也不是该语言的一部分,这就是当您尝试在vanilla浏览器环境中使用它时Firefox会引发错误的原因。

使用require同步加载模块通常是CommonJS方法的一部分(有关模块格式的更多信息,请参阅this answer)。虽然Node.js之类的环境提供了与此规范类似的module API,但浏览器却没有;所以你必须亲自带来这个功能。

有很多选项可供选择,您可以选择最适合您工作流程和个人品味的选项。但总的来说,模式可以归结为:

  • 在浏览器中明确使用模块加载器:使用<script>标记,带上SystemJS之类的加载器并立即使用它加载自己的代码。
  • 使用BrowserifyWebpackJSPM之类的捆绑包将您的代码捆绑到单个脚本:,并使用单个{加载结果{ {1}}标记。捆绑器带来了自己的模块加载器。

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

答案 1 :(得分:0)

你可以做

npm install -g requirejs

然后

var requirejs = require('requirejs');