| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> ES6包管理机制以及模块化 -> 正文阅读 |
|
[JavaScript知识库]ES6包管理机制以及模块化 |
目录 一、ES6介绍ES6是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等,ES6 的第一个版本,在 2015 年 6 月发布了正式名称就是《ECMAScript 2015 标准》(简称 ES2015)。ES6在ES5的基础上拓展了很多新特性。 ES5是2009年发布的,ES6是2015年发布的,ES2015 在ES5基础上拓展了很多新特性。ES7是 2016年发布的,ES7新增了两个特性,即指数和数组的原型方法includes()(用来判断一个数组是否包含一个指定的值)
includes()和indexOf()的区别:includes()可以查找到NaN,而indexOf()查找不到NaN ECMAScript 6.0(以下简称 ES6)是 JavaScript语言的下一代标准,它使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 二、包管理机制在做项目的时候,我们通常需要下载依赖、下载第三方工具库或者引入框架,这时候就需要使用包管理工具,包管理工具主要有三个,分别是npm、cnpm、yarn,它们三者的区别如下: cnpm:属于国内包管理工具,以前服务器是部署在淘宝镜像,不过现在已经部署在npmmirror(中国镜像站)上了;
yarn:使用yarn安装依赖或者工具库,它会先去缓存中查找依赖或者工具库,找不到的时候再去下载;而npm和cnpm即使已经下载过依赖或工具库,它也会重新下载。
三、安装babel转码工具由于有些浏览器并不支持ES6新特性,因此需要安装babel转码器将高版本代码转成低版本代码,以供浏览器解析。 1、初始化项目
打开vscode,新建一个文件夹,然后鼠标右键,选择在集成终端中打开? ?输入npm init,然后一直回车即可 ?初始化完成后,会生成一个package.json文件 ?2、安装转码工具babel先全局安装babel,再局部安装babel
-g 表示全局安装 ??查看babel版本(查看是否安装成功)
? 3、安装预设
👉同时安装转码工具和安装预设(局部安装),空格隔开两条命令即可:
--save是开发阶段工具安装(局部安装) -dev是上线阶段工具安装(局部安装) 4、指定转换规则在当前文件夹下新建一个.babelrc文件,并添加以下内容:
5、使用??安装完成后可以来用一下babel工具: (1)将ES6语法转换成ES5语法:
(2)将转码输出到另一个文件:
如下,执行命令后会自动生成一个a.js文件 : (3)将当前文件夹下全部的文件转码输出到另一个文件夹下: (将file1文件夹下的所有文件转码输出到file2文件夹下)
? 四、ES6模块化1、列表导出导出:export {变量} 导入:import {变量名} from 'xxx.js' 例子: 先建两个文件,一个作为导出文件,一个作为导入文件 接下来,我们需要先转码,再运行: 转码:babel file1 --out-dir file2 node环境下运行:node file2\列表导入.js 2、重命名导出导出:export {变量名 as 新变量名} 导入:import {变量名 as 新变量名} from 'xxx.js' 例子:
导入:
先转码,再运行,结果如下: 3、单个属性导出导出:export let a=1;? ? ? ? ? ? ?export function get(){}; 导入:import a from 'xxx.js' ? ? ? ? ? ?import get from 'xxx.js' 例子:
导入:
先转码,再运行,结果如下: 4、默认导出?导出:export default {变量} 导入:import 变量名 from 'xxx.js';? (这里的变量名可以随便起) 注意:一个模块只允许有一个默认导出 例子:
?导入:
先转码,再运行,运行结果如下: 5、导入所有export导出的内容和默认导出的内容import * as 变量名 from 'xxx.js';? (这里的变量名可以随便起) 例子:
?导入模块:
?先转码,再运行,结果如下: 五、CommonJS模块化导出: 例子: 导出:
导入:
不需要转码,直接运行即可,运行导入文件,结果如下: 运行导出文件,打印module,结果如下: CommonJS 模块就是对象,输入时必须查找对象属性。 Node内部提供一个Module构造函数,所有模块都是Module的实例。每个模块内部,都有一个module对象,代表当前模块。它有以下属性:
六、ES6模块化和CommonJS模块化的区别?它们主要有以下两点区别: 1、CommonJS 模块是运行时加载,ES6 模块是编译时输出接口 例子:
?CommonJS 模块导入:
?运行结果如下: ?说明CommonJS 模块输出的是一个值的拷贝/复制。 ES6模块导出:
ES6模块导入:
先转码再运行,结果如下: 说明ES6 模块输出的是值的引用 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 10:46:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |