当前位置: 首页 > 知识库问答 >
问题:

React和Reactdom的ES6模块怎么获得?

祝花蜂
2023-03-14
import * as React from 'react';
import * as ReactDOM from 'react-dom';

因此,我研究了./node_modules/reactreact-dom

有两个名为cjsumd的目录,每个目录都包含react.development.jsreact.production.min.js

很公平,所以调查档案,

umd是通用的模块定义,看起来可以通过Babel插件transform-es2015-modules-umd使用。

在这两个文件中,它们都不是ES6模块,对于我来说,找不到模块文件是非常尴尬的:

import * as React from 'react';
import * as ReactDOM from 'react-dom';

如何获得REACTDOM和REACTDOM的ES6模块?

多谢了。

共有1个答案

蒙麒
2023-03-14

2021-04-11更新:

https://github.com/facebook/react/issues/11503#issuecomment-662647468是丹·阿布拉莫夫2020-07-22的更新,其中提到了新的https://reactjs.org/blog/2020/09/22/induction-the-new-jsx-transform.html。有了新的转换,导入React的默认导出的理由就少多了。

实际的第一方反应ESM分配可能发生在反应17滴后。

旧答案

2017年11月9日丹·阿布拉莫夫说:

目前我们只提供所有软件包的CommonJS版本。然而,我们可能希望将来将它们作为ESM发布(#10021)。

 类似资料:
  • 问题内容: 我有点新反应。我看到我们必须导入两件事才能开始,并且,谁能解释其中的区别。我正在阅读React文档,但没有说。 问题答案: React和ReactDOM直到最近才被拆分为两个不同的库。在v0.14之前,所有ReactDOM功能都是React的一部分。这可能会引起混乱,因为任何过时的文档都不会提到React / ReactDOM的区别。 顾名思义,ReactDOM是React和DOM之间

  • 模块内的所有代码和数据都有文件作用域,这意味着它们不能被模块外部的代码访问。 要在模块外部共享代码或数据,需要使用export关键字导出。 在后端(服务器端)使用模块是相对简单的,你只需使用import关键字。 然而,Web浏览器没有模块或导入的概念,他们只知道如何加载JavaScript代码。 我们需要一种方法来引入一个javascript模块,以便从其他JavaScript代码开始使用它。 这

  • 在过去,我使用了揭示模块模式。 在ES6中,通过对象速记改进了这一点。 现在有了内置的模块语法,我很难找到与上面最相似的首选模式。 选项#1命名导出 选项#2带分解结构的默认导出/导入 选项#3默认导出/导入与名称行间距 我喜欢带有命名导出的选项#1,因为它在“destructuring”导入语法中提供了简单性。 我还想继续在导出对象的导出文件底部显式定义模块的导出API。 我一直在读默认导出是首

  • 本文向大家介绍详谈commonjs模块与es6模块的区别,包括了详谈commonjs模块与es6模块的区别的使用技巧和注意事项,需要的朋友参考一下 到目前为止,已经实习了3个月的时间了。最近在面试,在面试题里面有题目涉及到模块循环加载的知识。趁着这个机会,将commonjs模块与es6模块之间一些重要的的区别做个总结。语法上有什么区别就不具体说了,主要谈谈引用的区别。 commonjs 对于基本数

  • 本文向大家介绍React-Router怎么获取URL的参数?相关面试题,主要包含被问及React-Router怎么获取URL的参数?时的应答技巧和注意事项,需要的朋友参考一下 在之前的版本中,可以通过 this.props.location.query.bar 进行获取 在 v4 中,通过 this.props.location.search 获取,不过需要进行处理

  • ES6模块化的基本语法 ES6模块化的说明 依赖模块需要编译打包处理。原因如下: (1)有些浏览器不支持 ES6 的语法,写完 ES6 的代码后,需要通过Babel将 ES6 转化为 ES5。 (2)生成了ES5之后,里面仍然有require语法,而浏览器并不认识require这个关键字。此时,可以用 Browserify编译打包 js,进行再次转换。 推荐学习链接: http://es6.rua