generator,模块化与babel

ES6:
变量、箭头、参数、map、reduce、filter、forEach

Promise.all(p1, p2, p3, ...).then()

generator -特殊的函数

普通函数 -- 一直执行到头 飞机
generator -- 中间可以暂停 出租车

generator只能用function, 不能用箭头



yield:
1.传参
2.返回值

用在哪儿?

function *show(){

}

async/await

-------------- 30min ----------------

promise本质是等待异步操作结束
generator本质是无感的处理异步操作
async本质还是generator,官方的renner

---------------------------------------


renner(function *(){
操作1
let 结果1 = yield 异步操作

操作2
let 结果2 = yield 异步操作

操作。。。

})

(async () => {
操作1
let 结果1 = await 异步操作

操作2
let 结果2 = await 异步操作

操作。。。

})();

模块化:
模块 == 元件 == 组件

模块化方案:
1.民间的--sea.js、require.js
CMD和AMD规范
2.nodejs模块化
3.ES6模块化


------------------- 46min ------------------

1.定义一个模块
//xx.js
define(function(require, exports, module){
exports.a = 12;
})

2.引用模块
//index.html
seajs.use(['xxx.js', 'xxy.js'], function(xx, xy){
alert(xx.a) //12
})

-----------------------------------------------

html引用js-------use
js引用-----------require

node模块化:
1.没有defined
2.exports、require、module
3.引用自定义模块
1>放到node_modules里
2>引用时前面加./

---------node model-------------

1.创建包信息
npm init

2.发布node_modules代码(2种方式)
1>放在开发路径的node_modules文件夹下
2>发布到npm官网
1.进入该model的目录cd nmath
2.npm login
------登录自己的邮箱,npm需要发送验证邮件------
3.sudo npm publish nmath
3.撤销发布的model
1>进入该model的目录cd nmath
2>npm login
3>sudo npm unpublish nmath --force

-------------------ES6 模块化--------------------
import
export
当前浏览器还不支持export和import

解决方法:
--------babel------
cli => command line interface

 

posted @ 2019-07-29 09:26  菜菜123521  阅读(113)  评论(0编辑  收藏  举报