Javascript 导入和const之间有什么区别?在commonjs中首选哪一种

Javascript 导入和const之间有什么区别?在commonjs中首选哪一种,javascript,node.js,reactjs,babeljs,commonjs,Javascript,Node.js,Reactjs,Babeljs,Commonjs,我注意到在node.js应用程序中使用es6语法和Babel在使用const和import引用库之间进行了一些切换 首选的方法是什么?使用const和import的区别是什么?假设您可能在许多文件/组件中导入相同的库 常数 const React = require('react') import React from 'react' 导入 const React = require('react') import React from 'react' 这里是每一个的定义,但我仍然不确定

我注意到在node.js应用程序中使用es6语法和Babel在使用const和import引用库之间进行了一些切换

首选的方法是什么?使用const和import的区别是什么?假设您可能在许多文件/组件中导入相同的库

常数

const React = require('react')
import React from 'react'
导入

const React = require('react')
import React from 'react'
这里是每一个的定义,但我仍然不确定使用哪一个

import语句用于导入从外部模块、另一个脚本等导出的函数、对象或原语

const声明创建对值的只读引用。这并不意味着它所持有的值是不可变的,只是变量标识符不能被重新分配

首选的方法是什么?使用const和import的区别是什么

2016年,坚持导入是有意义的,因为这是标准的一部分

但是,没有技术上的理由宁愿使用
import
而不是
require
:使用
require
可以完成的所有事情都可以通过
import
完成,反之亦然。在某些情况下,一个会更简洁,而在另一个情况下,另一个会更简洁


总结:选择一个符合项目代码约定/一致性的。第二个来自标准(ES2015),第一个不符合。你真正想问的是节点的require和ES2015 import之间有什么区别,这使得它没有好处。
const
就像
var
,最大的区别是“常量”是只读的,它与导入无关或需要?好处是保存模块的变量不能更改,它是只读的,我将使用
导入
。当一些redux库和示例使用
const
方法时,我感到很困惑,我认为它是只读的。正如您在评论中提到的,导入的标识符不能更改,这意味着没有优势。你自己和@adeneo提供的好链接有助于澄清这一点
const
方法的主要优点是它在节点4/5中工作,而不需要传输,这可能就是你在这些节点中看到它的原因。