Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么JS中的React和Node处理导入的方式不同?_Javascript_Node.js_Reactjs_Import - Fatal编程技术网

Javascript 为什么JS中的React和Node处理导入的方式不同?

Javascript 为什么JS中的React和Node处理导入的方式不同?,javascript,node.js,reactjs,import,Javascript,Node.js,Reactjs,Import,为什么在JS中, React像这样处理导入 import SomeThing from '../../components/SomeComponent/SomeThing'; const someThing = require('../someWhere/someThing'); 而 节点按如下方式处理导入 import SomeThing from '../../components/SomeComponent/SomeThing'; const someThing = require(

为什么在JS中,
React像这样处理导入

import SomeThing from '../../components/SomeComponent/SomeThing';
const someThing = require('../someWhere/someThing');

节点按如下方式处理导入

import SomeThing from '../../components/SomeComponent/SomeThing';
const someThing = require('../someWhere/someThing');
这纯粹是一种惯例吗?
如果是,它们是否可以交换?
如果没有,为什么这样做很重要?

它们在幕后有什么区别吗,例如性能?

import
是被babel“哑巴化”的ES6,可以在所有浏览器中编译
require
是ES5。React使用导入,因为在幕后它使用babel作为编译器。它们是不可交换的,因为在React中可以使用require和import,但在node中可以直接使用require

这可以解决您的疑问
import
是ES6,并且在没有其他解决方法的情况下,在节点中不受支持@RandyCasburn感谢你的链接,我用两个问题来研究它们。在你的链接中的评论中有一个链接提供了详细的答案:我认为“dumbed”不是一个好短语(
require
既不比
import
更聪明也不比
import更愚蠢),另外,你可以使用正确的命令行选项,在节点中使用
import
。你可以用正确的命令做任何事情,不是吗?但这是对一个尚未提出的问题的回答。我将es6=>es5解释为“dumbed”down,您可以根据自己的意愿解释“”的内容。
require()
与es5规范无关。
import
也可以“本机”在NodeJS中使用,尽管仍然是实验性的