js模块化编程之彻底弄懂CommonJS和AMD/CMD! 先回答我:为什么模块很重要? 答:因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套! 于是下面三个模块规范 ...
分类:
Web程序 时间:
2018-03-10 22:12:19
阅读次数:
390
Webpack 是当下最热门的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。通过 loader 的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块、 AMD 模块、 ...
分类:
Web程序 时间:
2018-03-06 00:53:32
阅读次数:
203
commonjs是用在服务器端的,同步的,如nodejs amd, cmd是用在浏览器端的,异步的,如requirejs和seajs 其中,amd先提出,cmd是根据commonjs和amd基础上提出的。 AMD 规范:https://github.com/amdjs/amdjs-api/wiki/ ...
分类:
Web程序 时间:
2018-02-27 19:20:13
阅读次数:
195
AMD(异步模块定义)是RequireJS在推广过程中对模块定义的规范化产出。 CMD(同步模块定义)是SeaJS在推广过程中对模块定义的规范化产出。 CommonJS规范-module.exports (node服务端使用CommonJS规范) ES6新特性 export/import ...
分类:
Web程序 时间:
2018-02-25 17:16:06
阅读次数:
223
在研究react和webpack的时候,经常看到在js文件中出现require,还有import,这两个都是为了JS模块化编程使用。CSS的是@import 1.ES6 模块的设计思想,是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。 Require是CommonJS的语法, ...
分类:
Web程序 时间:
2018-02-24 20:40:51
阅读次数:
767
javscript :脚本建共享全局名称空间(全局污染)。 node:实现CommonJS(公共)模块标准。 Node加载模块,有两种方式: 1.通过名称 除非是核心模块,否则被引用的模块最后都会映射为一个文件路径。 2.通过路径 Node导入模块: 无论是第三方或者npm官方,都可以使用以下req ...
分类:
其他好文 时间:
2018-02-24 10:47:25
阅读次数:
135
前言 相信很多人都使用过export、export default、import,然而它们到底有什么区别呢? 在看他们之间的区别之前,我们先来看看它们的用法。 ES6 import和export的用法 ES6之前已经出现了js模块加载的方案,最主要的是CommonJS和AMD规范。commonjs主 ...
分类:
其他好文 时间:
2018-02-22 10:55:47
阅读次数:
305
.babelrc文件 { // 此项指明,转码的规则 "presets": [ // env项是借助插件babel-preset-env,下面这个配置说的是babel对es6,es7,es8进行转码,并且设置amd,commonjs这样的模块化文件,不进行转码 ["env", { "modules" ...
分类:
其他好文 时间:
2018-02-22 10:47:39
阅读次数:
206
commonjs模块和es6模块最主要的区别: commonjs模块是拷贝,es6模块是引用 ,但理解这些,先得理解 "对象复制" 的问题,在回过头来理解这两模块的区别。 一、基本数据类型的模块 es6模块 commojs模块 输出 现在修改一下 得出结论是: es6模块是引用,且只存在只读状态,不 ...
分类:
Web程序 时间:
2018-02-05 15:09:29
阅读次数:
443
背景JS没有模块系统、标准库较少、缺乏包管理工具;前端端没有模块化编程还可以,因为前端逻辑没那么复杂,可以工作下去,在服务器端逻辑性那么强必须要有模块为了让JS可以在任何地方运行,以达到Java、C#、PHP这些后台语言具备开发大型应用的能力,于是CommomJs规范就孕育而生了 规范核心一个文件就 ...
分类:
Web程序 时间:
2018-01-29 15:40:30
阅读次数:
202