扫码关注官方订阅号
新项目开发,请指教。
认证0级讲师
研究react的时候也考虑过这个问题,首先可以先了解下这两种模块的机制。参考这里要考虑的点:
目前Commonjs是nodejs(浏览器环境需要模块加载器)原生支持的,而es6需要借助babeljs来实现。意味着如果要实现自动编译上线(我司没有在线上安装node_modules做法)可能需要将babel之类的node_modules提交代码仓库,大概45M。
还有要考虑下你选择的react的组件库是基于es6还是Commonjs。如果你业务使用Commonjs规范,组件使用es6,这个就没法统一了。
考虑下团队对es6的熟悉程度,关系到代码质量和维护成本。
暂时就想到这些。
ES6的import和export可以随意使用,只是在webpack配置文件里面不推荐使用,因为目前有各种bug,如果你实在想用可以试试webpack-2分支
import/export是语言的一部分,将来扩展性可能好点
而且es6模块系统不能动态引入模块,没有require('/lib'+libName)这种写法,多少可以防止滥用。
require('/lib'+libName)
如果有需要动态加载的依赖,就用DI吧
我的意见是如果你的 react 组件使用 ES6 规范书写,那么就贯彻 ES6 规范,react 官方推荐使用 es6 标准进行书写。当然如果你们如果使用的是 es5 的方法写组件,那么可以用 commonJS 来书写。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
研究react的时候也考虑过这个问题,首先可以先了解下这两种模块的机制。参考这里
要考虑的点:
目前Commonjs是nodejs(浏览器环境需要模块加载器)原生支持的,而es6需要借助babeljs来实现。意味着如果要实现自动编译上线(我司没有在线上安装node_modules做法)可能需要将babel之类的node_modules提交代码仓库,大概45M。
还有要考虑下你选择的react的组件库是基于es6还是Commonjs。如果你业务使用Commonjs规范,组件使用es6,这个就没法统一了。
考虑下团队对es6的熟悉程度,关系到代码质量和维护成本。
暂时就想到这些。
ES6的import和export可以随意使用,只是在webpack配置文件里面不推荐使用,因为目前有各种bug,如果你实在想用可以试试webpack-2分支
import/export是语言的一部分,将来扩展性可能好点
而且es6模块系统不能动态引入模块,没有
require('/lib'+libName)这种写法,多少可以防止滥用。如果有需要动态加载的依赖,就用DI吧
我的意见是如果你的 react 组件使用 ES6 规范书写,那么就贯彻 ES6 规范,react 官方推荐使用 es6 标准进行书写。
当然如果你们如果使用的是 es5 的方法写组件,那么可以用 commonJS 来书写。