JS模块化6_ES6模块化教程

本教程详细介绍了如何使用ES6的模块化语法,通过Babel将ES6代码转译成ES5,再利用Browserify打包处理,使其能在浏览器环境中运行。内容涵盖ES6的export和import语法,项目结构设置,.babelrc配置,以及jQuery模块的引入和使用。最后,通过Babel和Browserify编译源代码,并在页面中引入测试。
摘要由CSDN通过智能技术生成

ES6-Babel-Browserify模块化教程

0. ES6模块化语法

暴露模块:
	- 分别暴露:export 暴露内容
	- 统一暴露:export {xxx, yyy} 
	- 默认暴露:export default 暴露内容

引入模块:
	- 默认暴露的引入:import xxx from './xxx'
		- 几乎所有的第三方模块都用默认暴露的方式
	- 分别暴露和统一暴露的引入:import {xxx, yyy} from './xxx' 
		- 必须加{}

1. 创建项目结构

|-js
  |-src
    |-module1.js
    |-module2.js
    |-module3.js
    |-app.js
|-index.html
|-package.json
  {
  "name" : "es6-modular-0719",
  "version" : "1.0.0"
}

2. 安装babel-cli, babel-preset-es2015和browserify:

babel的两大作用:1. es6 -> es5 ; 2. jsx -> js
浏览器不认识ES6对象结构赋值语法,故安装babel。

第一步,全局安装:npm install babel-cli browserify -g 
第二步,局部安装:npm install babel-preset-es2015
备注:若全局已经安装过browserify,可以在第一步中去除browserify

3. 创建.babelrc文件(给babel指定具体的任务),内容如下:

{
   "presets": ["es2015"]
}

4. 编码

  • js/src/module1.js

    //分别暴露
    export function foo() {
      console.log('module1 foo()');
    }
    export function bar() {
      console.log('module1 bar()');
    }
    export const DATA_ARR = [1, 3, 5, 1]
    
  • js/src/module2.js

    //统一暴露
    let data = 'module2 data'
    
    function fun1() {
      console.log('module2 fun1() ' + data);
    }
    
    function fun2() {
      console.log('module2 fun2() ' + data);
    }
    
    export {fun1, fun2}
    
  • js/src/module3.js

    //默认暴露
    export default {
      name: 'Tom',
      setName: function (name) {
        this.name = name
      }
    }
    
  • 下载jQuery模块: npm install jquery --save

  • js/src/app.js

    import {foo, bar} from './module1'
    import {DATA_ARR} from './module1'
    import {fun1, fun2} from './module2'
    import person from './module3'
    
    import $ from 'jquery'
    
    $('body').css('background', 'red')
    
    foo()
    bar()
    console.log(DATA_ARR);
    fun1()
    fun2()
    
    person.setName('JACK')
    console.log(person.name);
    

5. 编译源代码(确保已进入06_ES6_Babel_Browserify所在文件夹)

  • 第一步:使用Babel将ES6编译为ES5代码
    命令为: babel js/src -d js/build
  • 第二步:使用Browserify编译js上一步生成的js
    命令为: browserify js/build/app.js -o js/build/build.js
  • 备注:第一步操作后Babel将es6的模块化语法,转换成了CommonJS模块化语法(浏览器不识别),所以需要第二步用Browserify再次编译。

6. 页面中引入测试

<script type="text/javascript" src="js/build/build.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智者_若愚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值