Babel
babel是一个语法编辑器,用来转换最新的JS语法,比如把ES6,ES7等语法转换为ES5语法,从而可以在大部分浏览器运行,
执行过程分三步:分析,转化,生成代码。
但是babel一些最新的api是不转化的,比如Object,assign,Promise等,所以可以使用插件
babel-pilofill来引入对全部api的支持。
Webpack
*:
npm install webpack -g
webpack main.js build.js
1,概念
是一个前端打包工具(模块打包机),可以将js,image,css当做一个模块进行打包(可理解为编译),需要和Babel配合使用。
基于nodejs运行
2,打包的优点:
1,模块化开发
程序员在开发时可以分模块创建不同的js,css等小文件方便开发,
最后使用webpack将这些小文件打包成一个大文件,减少了http的请求次数。
2,编译typescript,es6等高级js语法
随着前端技术的发展,开发中可以使用很多高级javascript版本,比如typescript,
es6等方便开发,提高效率,但部分浏览器不识别,所以需要webpack转换成可识别的语法。
3,css预编译
webpack允许在开发中使用sass和less等原生css扩展技术,通过sass-loader,less-loader将
语法编译成浏览器可识别的css语法。
3,Webpack的缺点:
1,配置有点繁琐
2,文档不丰富
4,大概过程:
在packagejson中配置script
配置webpackconfig
配置入口文件entry