kus*_*ust 14 javascript commonjs npm umd
我安装了package.json这样的reactjs和react-dom
"dependencies": {
"bootstrap": "^v4.1.1",
"popper.js": "^1.14.3",
"react": "^v16.4.1",
"react-dom": "^16.4.1"
}
Run Code Online (Sandbox Code Playgroud)
它正确下载了react文件夹和react-dom文件夹。
这两个文件夹都有cjs和umd文件夹,并且它们都有很多js文件。
对我来说,无法找到两个文件夹中文件之间的差异。
像这样:
URL: node_modules/react/umd
react-development.js
react-production.min.js
URL : node_modules/react/cjs
react-development.js
react-production.min.js
Run Code Online (Sandbox Code Playgroud)
与react-dom几乎相同。它还具有cjs和umd文件夹,我不知道应该使用哪个文件夹中的哪个文件来开发React应用程序或网站。
big*_*ose 14
JavaScript最初仅用于交互式浏览器。与Node一起,可在非浏览器上下文中使用。由于这一因素和其他因素,模块的格式不兼容:
“ CommonJS ”规范描述了exports
对象的使用,该对象是用于声明和发现从模块导出的名称的API。没有允许在交互式浏览器中加载CommonJS模块。NodeJS是CommonJS格式的最流行实现。
“ 异步模块定义 ”(AMD)描述了如何在将JavaScript模块加载到交互式浏览器中的前提下捆绑JavaScript模块。RequireJS是较流行的模块支持库之一,它使用AMD模块。
因为AMD和CommonJS都非常流行并且彼此难以理解,所以“ 通用模块定义 ”(UMD)是一种模式,试图以较复杂的格式为代价,使两者都可以使用的模块。
最近,ECMAScript 2015定义export
和import
语法(与上述所有语法不同)以支持模块。
您应该使用哪个?您需要根据构建系统中将使用这些模块的内容来回答。
今天,最可能的答案是:使用UMD模块。将来的某个时候可能是:使用ECMAScript模块;但是我们(2019)尚未就如何分配这些内容达成共识。
归档时间: |
|
查看次数: |
3268 次 |
最近记录: |