从'../components/App'导入应用程序有啥区别;和 var App = require('../components/App');?
Posted
技术标签:
【中文标题】从\'../components/App\'导入应用程序有啥区别;和 var App = require(\'../components/App\');?【英文标题】:what is the difference between import App from '../components/App'; and var App = require('../components/App');?从'../components/App'导入应用程序有什么区别;和 var App = require('../components/App');? 【发布时间】:2019-01-22 01:37:48 【问题描述】:有什么区别:
import App from '../components/App';
和
var App = require('../components/App');
两者都用于获取组件,但它不能解决我在这里提出的查询: Uncaught Error: Minified React error #130
【问题讨论】:
【参考方案1】:require
在 NodeJS 中用于指定脚本中需要的模块。欲了解更多信息,请查看here。另一方面,import
是 ES6 中引入的语句,用于导入由另一个模块导出的绑定。,正如它所说的here。
【讨论】:
【参考方案2】:import/export 是 ES6 的功能之一,用于导入/导出模块/组件。 例如:您可以对 React 组件进行命名/默认导出。同样,您可以导入它们。
export default App
尽管大多数网络浏览器无法理解 ES6,但 Babel 或任何其他工具都用于转译。 在后台,这些语句默认转换为 require(),在 node 环境中使用 common.js。
【讨论】:
【参考方案3】:import/export 是 ES6 的特性之一,你不会看到仅仅导入默认导出的好处。例如,您可以像这样导出其他组件...等
export default MainComponent;
export OtherComponent
您可以使用 ES6 导入它们:
import MainComponent, OtherComponent from '../components/App';
你当然可以使用 ES5 来做到这一点,但这会更快......
【讨论】:
以上是关于从'../components/App'导入应用程序有啥区别;和 var App = require('../components/App');?的主要内容,如果未能解决你的问题,请参考以下文章