程序猿
2019/2/26
- import、require、export、module.exports使用详解
webpack本身维护一套模块系统,这套模块系统兼容了前端历史进程下的模块规范,包括AMD,commonjs,es6等,本文主要针对 commonjs和es6规范进行说明。模块化的实现其实就是在最后编译的文件内。自执行函数:
(function(modules){
})([])
复制代码
自执行函数的入参是个数组,这个数组包含了所有的模块,自执行函数体里的逻辑就是处理模块的逻辑。
babel专门用于处理es6转换为es5,当然也包括es6模块语法的转换。
babel和webpack的转换思路差不多,区别在于webpack的原生转换可以多做一步静态,分析,使用tree-shaking技术 babel能提前将es6的import等模块关键字转换为commonjs的规范。
es6的导出模块方法有:
export default 123;
export const a = 1;
const b = 2;
const c = 3;
export {b, c};
复制代码
babel会将这些统统转换为commonjs的exprots。
exports.default = 123;
exports.a = 1;
exports.b = 2;
exports.c = 3;
exports._esModule = true;
复制代码
babel将模块导出的逻辑非常简单,将所有的输出都赋值exports,并带上一个_esModule表明这个由es6转换来的commonjs输出。
对于最常见的
import a from './a.js'
复制代码
在es6中这个行代码的本意是想去引入一个es6模块中的default输出。
- 修改Element-ui源码自动刷新配置方法:
import elementui from './../node_modules/element-ui/src/index.js';
webpack.base.config.js文件修改babel-loader配置添加:
resolve('node_modules/element-ui')
"transform-vue-jsx",
"transform-es2015-modules-commonjs"都加上前缀babel-plugin-
复制代码
- css BFC IFC GFC FFC
- css 常用的核心技巧
- css 矩阵 css 3d
- css 与数学魅力
- css预处理器和后处理器
- css性能问题 重绘重排 动画 硬件加速
- css 与黑客安全 跨站脚本攻击
- psd houdini
- log4js
- jmeter + js
- PM2
- Nginx配置
- proxy io
- promise
- express koa2
转载于:https://juejin.im/post/5c74b166f265da2dbc599758
文章最后发布于: 2019-02-26 04:44:14
相关阅读
小编导读 : 2015年,金错刀频道会启动一个创业公益项目——《创业狠问答》。第一季就是“不花钱”系列。我被很多创业者问的最多的
论-100000乘以-100000 #我真是闲的无聊,菜的一批,才会去论-10000乘以-100000,但我不知道为什么会爆?#计算完成之后类型转换#计算完成
A5创业网(公众号:iadmin5)1月15日报道,近日北京监狱与支付宝合作,上线了服刑人员综合账务管理系统,为服刑人员提供了狱内支付、家属存款
营销QQ是拥有10万好友容量的一个企业版QQ,可以每天发出1000次好友邀请,但是很多用户在购买使用之后,发现并不能达到1000次邀请量,经常
浅谈setInterval(aa,1000)与setInterval(aa(),1000)的
一直有个疑惑,在定时器上调用某个方法时,加括号和不加括号有什么区别。今天做了个实验,发现,不加括号定时器会每秒执行一次,加了括号只