新项目开发,请指教。
import/export是语言的一部分,将来扩展性可能好点
而且es6模块系统不能动态引入模块,没有require('/lib'+libName)
这种写法,多少可以防止滥用。
如果有需要动态加载的依赖,就用DI吧
我的意见是如果你的 react 组件使用 ES6 规范书写,那么就贯彻 ES6 规范,react 官方推荐使用 es6 标准进行书写。
当然如果你们如果使用的是 es5 的方法写组件,那么可以用 commonJS 来书写。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
研究react的时候也考虑过这个问题,首先可以先了解下这两种模块的机制。参考这里
要考虑的点:
目前Commonjs是nodejs(浏览器环境需要模块加载器)原生支持的,而es6需要借助babeljs来实现。意味着如果要实现自动编译上线(我司没有在线上安装node_modules做法)可能需要将babel之类的node_modules提交代码仓库,大概45M。
还有要考虑下你选择的react的组件库是基于es6还是Commonjs。如果你业务使用Commonjs规范,组件使用es6,这个就没法统一了。
考虑下团队对es6的熟悉程度,关系到代码质量和维护成本。
暂时就想到这些。