https://github.com/es-shims/es5-shim/
检测浏览器可支持es5,不支持就扩展,做兼容;
扩展的方法:
取所有对象的键值;
object类型的长度:
循环一遍,用
做表单,不小心空格,去空格的作用?
对原型链的理解:和document冒泡是一样的;数组中找不到,就冒泡到原型上,在没有,就是没有,
作用玉 一直往上查找
首先:事件行为由Windows触发的
ie9以下捕获不支持;
先记录两个
匹配的话,事件就是他触发的
true是捕获,flase:是冒泡
==
如果版本低于9;就把js引进来;
能把优化做到最高
怎么把es6代码编译成es5:
http://babeljs.io/
sass用来编译什么文件
babel用来编译js文件:
把 语法直接编译成js
把6的类模拟成5的方法:
http://www.jscss.cc/2016/10/26/babel.html
安装babel的环境:
安装 Babel
babel-cli
在项目内运行 Babel CLI
babel-register
babel-node
babel-core
配置 Babel
.babelrc
babel-preset-es2015
babel-preset-react
babel-preset-stage-x
执行 Babel 生成的代码
babel-polyfill
babel-runtime
配置 Babel(进阶)
手动指定插件
插件选项
基于环境自定义 Babel
制作你自己的预设(preset)
Babel 和其他工具
静态分析工具
语法检查(Linting)
代码风格
2.查看版本
3.开始写helloword.js
怎么配置输出es5的语法:
指定将日志输出到哪个文件:
把6转为5需要安装模块
出现babel
http://www.jscss.cc/2016/10/27/react-build.html
错误的安装例子
复制进去,直接npm install
es6在浏览器里运行不了;!!!为什么
模块化打包工具:webpack
html:就是jsx
编译以后的
好处:拼接字符串的时候:没有引号
http://slides.fe.ioteams.com/slide/show?id=20#/
忘了全局的环境
{
presets: [
"es2015",
"react",
"stage-2"
],
plugins: [
'transform-runtime',
'transform-es2015-classes'
]
}
}
vim只能编辑文件
查看区域
输入a:右键paste
退出:esc
wq:
查看文件:
在编辑之前按a;把文本拿过来,即修改
退出编辑esc
退出文件:shift + :
又修改又保存并退出:wq:小写
如果有冲突,把文件删除掉(命令是什么?),在建一个
进行修改:
回车删除掉 多余的花括号
如果存在,会修改,不存在,会创建
声明的关系没有了
把src的文件夹编译到build的文件夹底下去
核心代码,虚拟技术:reactdom
写完过后进行编译:在build里面查看:
当做模块返回过去
移动过来再编译一下:
返回一个包含arr对象的
处理后的,一个新的语法接收的
虚拟的dom转换为字符串,呈现的在body里面:
1.创建文件,根据文件做项目打包:
fis:
bat:百度,阿里,腾讯
对所有模块打包:http://webpack.github.io/
AMD和cmd是什么?
http://webpack.github.io/docs/tutorials/getting-started/
http://webpack.github.io/docs/configuration.html
入口文件去关联其他的文件
重新写一个正常正式的js的文件来进行配置
page1是我们定义输出的文件?
最后一行是我们的
在main.js中:第一个参数是函数的名字,怕在一个js里写很多模块
自动压缩时文件名作为模块名,把 文件路径名当成了模块名
弹性的打包机制:支持三种命名规范
五分钟上手:http://seajs.org/docs/
继续编译
看代码
自动创建?
对象里面是逗号,最后没有
http://webpack.github.io/docs/using-loaders.html
处理什么文件就引入
模块处理gulp和pipe一样:管道的意思
query: {
presets: [
"es2015",
"react",
"stage-2"
],
plugins: [
"transform-runtime",
"transform-es2015-classes"
]
}
代码有变更就会自动编译:
webpack -w -d:监听文件变化后自动编译
直接压缩:webpack -p,编译时自动压缩