Babel详解

  1. 简介
  • ES6的某些高级语法在浏览器环境甚至是Node.js中无法执行
  • Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行
  1. 安装
  • 安装命令行转码工具

npm install -g babel-cli

  • 检查是否安装成功

babel --version

  1. Babel的使用
  • 创建bable文件夹
  • 初始化项目

npm init -y

  • 创建文件夹src
  • 在文件夹src中创建文件example.js,并写下面的ES6代码
//转码前
let input =[1,2,3]
//将数组的每个元素加1
let input=input.map(a=>a+1)
console.log(input)
  • 在根目录中创建.babelrc文件,配置.babelrc(Bable的配置文件是.babelrc,存放在根目录下,该文件用来设置转码规则和插件,基本格式如下)
{"presets":["es2015"],//这是将es2015规则加入"plugins":[]
}
  • 安装转码器,在这个项目中安装(cmd中输入命令行)

npm install --save-dev babel-preset-es2015

  • 转码

babel src -d dist

前端模块化开发

  1. 简介
  • 随着网站逐渐变成“互联网应用程序” , 嵌入网页的javascript代码越来越庞大,越来越复杂,javascript模块化编程已经成为一个迫切的需求
  • 模块化规范
    • CommonJS模块化规范
    • ES6模块化规范
  1. CommonJS规范
  • 创建文件—四则运算.js
//工具类
const sum = function(a,b){return a+b;
}
const sub = function(a,b){return a-b;
}
const mul = function(a,b){return a*b;
}
const di = function(a,b){return a/b;
}//导出给别人使用,commomJS模块化开发
module.exports={sum,sub,mul,di
}
//需要导出才能使用
  • 创建文件----导入测试.js
//require 导入
const m = require('./四则运算.js');
let c=m.sum(1,2);
console.log(c);
console.log(m.mul(1,2));
console.log(m.sub(1,2));
console.log(m.di(1,2));
  • commonJS使用 exports导出,require导入
  1. ES6模块化规范
  • 创建导出文件 --userApi.js
//普通写法
// //用export导出
// export function getList(){//     //在真实业务中,异步获取数据
//     console.log("获取数据列表");
// }// export function save(){//     //在真实业务中,异步获取数据
//     console.log("保存数据");
// }//新版写法,也最常见,将要导入的化为一个整体
export default{getList(){console.log("获取数据列表");},save(){//在真实业务中,异步获取数据console.log("保存数据");}
}
  • 创建导入文件—userTest.js
//普通写法
//导入模块import//import {getList,save} from './userApi'//getList()//save()//新版写法,导入的所有模块作为一个整体(对象)import user from './userApi'user.getList()user.save()
  • nodejs默认不支持es6语法的 import,所以要降级,用bable,回顾之前bable如何使用

    • 先初始化 npm init -y
    • 根目录中创建文件夹 src,放业务代码
    • 跟目录中创建bable配置文件----- .babelrc
    {"presets": ["es2015"],"plugins": []
    }
    
    • 安装转码器

    npm install --save-dev babel-preset-es2015

    • 创建dist文件夹----在package.json中
      "build": "babel src -d dist"
    
    • 运行脚本build npm run build ,然后会在dist中生成和src一一对应的转码后的文件
    • 运行dist中的文件

    node .\dist\userTest.js

Bable详解和前端模块化相关推荐

  1. layUI前端框架使用详解_layUI前端框架视频教程

    百度云网盘下载 ayUI前端框架使用详解_layUI前端框架视频教程 课程目录: 1前言 2为什么要用layUI框架 3layer组件的引用方法 4layer组件的使用方法详解 5用layer组件快速 ...

  2. layUI前端框架使用详解_layUI前端框架视频教程完整版

    layUI前端框架使用详解_layUI前端框架视频教程 课程目录: 1前言 2为什么要用layUI框架 3layer组件的引用方法 4layer组件的使用方法详解 5用layer组件快速开发一个表单验 ...

  3. 后盾人最新layUI前端框架使用详解_layUI前端框架视频教程

    课程目录: 2为什么要用layUI框架 4layer组件的使用方法详解 6layDate组件的使用方法详解 8layUI的基础文件引用 10页面元素之动画.按钮 12页面元素之选项卡.进度条.表格 1 ...

  4. java socket中属性详解_前端开发:关于Vue组件中的data属性值是函数而不是对象的详解...

    最近在搞关于前端开发的基础知识归纳,发现了不少经典知识点,那么本篇博文就来分享一个经典的知识点:Vue组件中的data属性值为什么是函数而不是对象.首先来了解一下Vue组件的使用理念:在Vue组件使用 ...

  5. vscode中前端vue项目详解_web前端Vue项目实战-Music

    上篇讲到vue的使用方法,今天这一篇介绍vue的实操,可以大家更加加固去学习web前端vue技术. 第一节 Music项目环境第一部分 本届作业 聊一聊React和Vue的区别 老版本的项目环境如何创 ...

  6. CSS选择器详解(前端系列1)

    博客核心内容: ①标签(名字)选择器 ②ID选择器 ③类选择器 ④通配符选择器 ⑤优先级就近原则,同权重情况下样式定义最近者为准 ⑥多元素选择器 ⑦后代选择器(.outer p)==>向下找 ⑧ ...

  7. 【前端就业课 第一阶段】HTML5 零基础到实战(六)表格详解

    注意:手机(APP)打开,内容显示更佳,不会的私聊博主即可 想要拿代码或加入学习计划(** 博主会监督你并且教你写文章 **)的拉到最下面(PC端Web打开)加博主即可,目录也在最下面. 参加博主前端 ...

  8. 在HTML中marquee有什么作用,【HTML】HTML之marquee详解

    该标签不是HTML3.2的一部分,并且只支持MSIE3以后内核,所以如果你使用非IE内核浏览器(如:Netscape)可能无法看到下面一些很有意思的效果 该标签是个容器标签 语法: 以下是一个最简单的 ...

  9. echart关系树状图_echart——关系图graph详解

    VueEchart组件见上一篇 export default { data () { const title = { // show: true, //是否显示 text: "画布关系图&q ...

  10. php pcntl fork使用,php中pcntl_fork详解

    pcntl_fork()函数是php-pcntl模块中用于创建进程的函数.(不支持windows) 至于php_pcntl扩展如何安装开启这里就不介绍了,只分析pcntl_fork()这个函数本身. ...

最新文章

  1. linux命令安装组件,Linux安装各种组件
  2. 赔得比赚得多,职场人年终奖都花哪儿了?
  3. 艾伟:【翻译】使用ASP.NET 2.0记录错误
  4. vue-router 在项目中的使用
  5. PMP - 2011年6月考前辅导班
  6. Oracle数据库体系结构
  7. shell编程题(一)
  8. 【OpenJ_Bailian - 2299 】Ultra-QuickSort (归并排序 或 离散化 + 树状数组)
  9. jqgrid使用小记
  10. SAP License:我们到底需要什么能力?
  11. 基于kotlin的coroutines的生命周期管理
  12. linux shell let命令,linux shell let, expr 命令详解
  13. linux下socket调试,linux下socket调试
  14. 百胜中国于香港联交所主要上市;平安健康正式收购平安智慧医疗 | 美通企业日报...
  15. FMEA-MSR 步骤四:失效分析
  16. imagej得到灰度图数据_教你用免费软件Image J对WB结果进行灰度分析!
  17. Steven Lin 林嘉澍
  18. pyltp依存句法分析_NLP(十二)依存句法分析的可视化及图分析
  19. 移动App该怎样保存用户password
  20. Ubuntu 16.04解决双系统时间冲突问题

热门文章

  1. 49个excel常用技巧(五)
  2. unity-shader-延迟渲染
  3. 租用GPU服务器跑深度学习模型心得
  4. Java求解N皇后问题
  5. 961 计算机学科专业基础综合,2018年北京航空航天大学961计算机学科专业基础综合考研复习资料...
  6. Elasticsearch自定义客户端(TransportClient)资源池
  7. 【Digger爬虫系列】用Digger抓取taptap游戏排行榜
  8. Android 科大讯飞语音评测SDK 踩坑实录
  9. linux 如何通过进程号找到文件路径
  10. [计算机视觉] 边缘检测Canny算法原理总结 以及 matlab代码实现