https://www.raymondcamden.com/2018/01/18/an-example-of-vuejs-devtools/
---------------
https://www.raymondcamden.com/2018/01/18/an-example-of-vuejs-devtools/
---
查阅资料得知
common.js的语法是运行在node环境的,我们使用的element-ui是在node_modules文件里的,这里面有node环境的,所以使用module.exports的方式导出,在项目中使用不报错
而我们的组件库ele-vue不是在node_modules文件里面,没有node环境,那么在examples文件里面引用module.exports的方式导出的组件时会报错
CommonJS:
Node应用由模块组成,采用CommonJS模块规范。
module.exports.default = module.exports = ...(代码中这行注释了
CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。
根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
// a.js exports = function a() {}; // b.js const a = require(‘./a.js‘) // a 是一个空对象
ES6
export default=...
不同于CommonJS,ES6使用 export 和 import 来导出、导入模块。
// profile.js
var firstName = ‘Michael‘; var lastName = ‘Jackson‘; var year = 1958; export {firstName, lastName, year};
// export-default.js
export default function () { console.log(‘foo‘); }
// profile.js
var firstName = ‘Michael‘;
var lastName = ‘Jackson‘;
var year = 1958;
export {firstName, lastName, year};
----------------------
spread 扩展运算符 ... Rest 运算符, 真的很无语
当接收的参数是a, b, c, 则 ...ARG中的arg成了数组, 当要接收的参数是[], 则 ...ARG中的arg成了a,b,c, 就是把数组变成扁平的, 把扁平的变成数组
等号表达式是典型的赋值形式,函数传参和for循环的变量都是特殊形式的赋值。解构的原理是赋值的两边具有相同的结构,就可以正确取出数组或对象里面的元素或属性值,省略了使用下标逐个赋值的麻烦。对于三个点号,三点放在形参或者等号左边为rest运算符; 放在实参或者等号右边为spread运算符,或者说,放在被赋值一方为rest运算符,放在赋值一方为扩展运算符。
--------------------
原文:https://www.cnblogs.com/qinqiu/p/14671662.html