6_ES6模块化教程

ES6-Babel-Browserify使用教程

  1. 定义package.json文件
{
  "name" : "es6-babel-browserify",
  "version" : "1.0.0"
}
  1. 安装babel-cli, babel-preset-es2015和browserify
  • npm install babel-cli browserify -g
    • npm install babel-preset-es2015 --save-dev
  1. 定义.babelrc文件
    {
    "presets": ["es2015"]
    

}
```

  1. 编码
  • js/src/module1.js
    export function foo() {
      console.log('module1 foo()');
    }
    export let bar = function () {
      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
      }
    }
    
  • 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);
    
  1. 编译
  • 使用Babel将ES6编译为ES5代码(但包含CommonJS语法) : babel js/src -d js/lib
  • 使用Browserify编译js : browserify js/lib/app.js -o js/lib/bundle.js
  1. 页面中引入测试
<script type="text/javascript" src="js/lib/bundle.js"></script>
  1. 引入第三方模块(jQuery)
    1). 下载jQuery模块:
    • npm install jquery@1 --save
      2). 在app.js中引入并使用
    import $ from 'jquery'
    $('body').css('background', 'red')
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ES6-Babel-Browserify使用教程 定义package.json文件 安装babel-cli, ba...
    不会飞的fish阅读 134评论 0 0
  • 第一章:模块化发展史 什么是模块? 一个模块的组成 模块化 模块化进化史 1. 全局function模式 modu...
    楚金_86e4阅读 312评论 0 0
  • JS 模块化学习笔记 一、模块化理解 0. 模块理解 简单理解,具有特定功能的 js 文件,就是 js 模块 将一...
    前端千帆阅读 269评论 0 0
  • ES6-Babel-Browserify使用教程 定义package.json文件 安装babel-cli, ba...
    cxq要努力阅读 206评论 0 0
  • 一、CommonJS 1、规范 说明每一个文件都可以当做一个模块在服务器端:模块的加载是运行时同步加载的在浏览器端...
    西北有高楼lee阅读 493评论 0 0