前端的四种模块化方案(webpack/require.js/seajs/browserify
2017-01-11 17:02
375 查看
http://hackhat.com/p/110/module-loader-webpack-vs-requirejs-vs-browserify/
https://zhidao.baidu.com/question/1799220342210982227.html
模块化方案最主要的是针对javascript代码,将其可以直接利用加载的一些库。
http://www.cnblogs.com/kidsitcn/p/5400205.html:javascript
不具备原生的模块化技能,因此需要采用第三方开发的模块依赖处理库来实现模块化:AMD、CommonJS、ES6
这三种方案的实现对比:
AMD: define + require
CMD: exports + require
ES6: export + import(由于ES6本身是原生语言支持实现的模块化,但是现代浏览器大多都还未支持,因此必须使用相应的transpiler工具转换成ES5的AMD,CMD模块,再借助于systemjs/requirejs等模块加载工具才能使用。其中ES6的transpiler(代码转换器)一般是用babel,他的作用是将ES6)
有一个大神画的图,请看
js语言本身并不支持模块化,同时浏览器中js和服务端nodejs中的js运行环境是不同的,如何实现浏览器中js模块化主流有两种方案:
1. requirejs/seajs: 是一种在线“编译”模块的方案,相当于在页面上加载一个CommonJS/AMD模块格式解释器。这样浏览器就认识了define,
exports,module这些东西,也就实现了模块化。
2.browserify/webpack:是一个预编译模块打包的方案,相比于第一种方案,这个方案更加智能。由于是预编译的,不需要在浏览器中加载解释器。你在本地直接写JS,不管是AMD/CMD/ES6风格的模块化,它都能认识,并且编译成浏览器认识的JS。注意:
browerify打包器本身只支持Commonjs模块,如果要打包AMD模块,则需要另外的plugin来实现AMD到CMD的转换!!https://github.com/jaredhanson/deamdify
http://www.itdadao.com/articles/c15a1074967p0.html(前端集成解决方案)
https://zhidao.baidu.com/question/1799220342210982227.html
模块化方案最主要的是针对javascript代码,将其可以直接利用加载的一些库。
http://www.cnblogs.com/kidsitcn/p/5400205.html:javascript
不具备原生的模块化技能,因此需要采用第三方开发的模块依赖处理库来实现模块化:AMD、CommonJS、ES6
这三种方案的实现对比:
AMD: define + require
CMD: exports + require
ES6: export + import(由于ES6本身是原生语言支持实现的模块化,但是现代浏览器大多都还未支持,因此必须使用相应的transpiler工具转换成ES5的AMD,CMD模块,再借助于systemjs/requirejs等模块加载工具才能使用。其中ES6的transpiler(代码转换器)一般是用babel,他的作用是将ES6)
有一个大神画的图,请看
js语言本身并不支持模块化,同时浏览器中js和服务端nodejs中的js运行环境是不同的,如何实现浏览器中js模块化主流有两种方案:
1. requirejs/seajs: 是一种在线“编译”模块的方案,相当于在页面上加载一个CommonJS/AMD模块格式解释器。这样浏览器就认识了define,
exports,module这些东西,也就实现了模块化。
2.browserify/webpack:是一个预编译模块打包的方案,相比于第一种方案,这个方案更加智能。由于是预编译的,不需要在浏览器中加载解释器。你在本地直接写JS,不管是AMD/CMD/ES6风格的模块化,它都能认识,并且编译成浏览器认识的JS。注意:
browerify打包器本身只支持Commonjs模块,如果要打包AMD模块,则需要另外的plugin来实现AMD到CMD的转换!!https://github.com/jaredhanson/deamdify
http://www.itdadao.com/articles/c15a1074967p0.html(前端集成解决方案)
相关文章推荐
- 前端模块化方案的比较(webpack/require.js/seajs/browserify
- 前端模块化实践----使用webpack打包js代码
- Gulp,grunt,seajs/require和browserify/webpack的区别?
- Webpack、Browserify、seajs 、require的不同
- Gulp/seajs /require/browserify / webpack 简单区分
- 【webpack】流行的前端模块化工具webpack初探
- web前端.js--seajs--把easyUI改造成功标准CMD模块的方法
- webpack 前端资源模块化管理和打包工具
- 支持seaJs和requireJs的前端模块开发方案(二):业务页面和入口脚本init.js
- 前端模块化工具-webpack
- 前端模块化工具--webpack学习心得
- 2.精通前端系列技术之JS模块化开发-深入学习seaJs(四)
- Webpack中hash与chunkhash的区别,以及js与css的hash指纹解耦方案
- 前端模块化工具-webpack
- Window10 下部署Webpack+Vuejs构建前端环境(1)
- webpack + vue 项目 自定义 插件 解决 前端 JS 版本 更新 问题
- Webpack中hash与chunkhash的区别,以及js与css的hash指纹解耦方案
- 支持seaJs和requireJs的前端模块开发方案(四):AMD模式和CMD模式下的config.js
- Webpack中hash与chunkhash的区别,以及js与css的hash指纹解耦方案
- 使用Webpack提高Vue.js应用的方式汇总(四种)