html支持es6 module,前端模块化之CommonJS与ES6模块化

为什么要使用前端模块化?

减少代码污染.

数据更安全,防止外部修改.

提高可维护性.

什么是前端模块化?

将大工程代码拆分,分成多个模块,按需引入使用.

以下浅谈常用的CommonJS与ES6模块化

ES6模块化

首先nodejs以及浏览器默认是不支持es6模块化的

先来看下在浏览器环境下es6模块化的一个案例:

创建三个文件,index.html页面,index.js页面对应的js文件,module.js是页面js对应的模块化js文件

module.js

60b5a231802b

将需要的数据导出

index.js

60b5a231802b

按需引入模块

index.html

60b5a231802b

页面运行

在此有两个需要注意的点:

1.不能直接在index.html右键浏览器打开,会报以下错误

60b5a231802b

跨域问题

解决方案:这里可以使用vscode中的Live插件,使用服务器的访问index.html

2.浏览器默认不支持模块化

60b5a231802b

不能导入模块

解决方案:在引入的script标签声明type="module"

这些问题解决后,就能看到引入数据成功啦~

60b5a231802b

module.js的数据在index.html下呈现

ES6模块化的几种导出方式:

1.每个模块化文件仅可以写一个default导出

60b5a231802b

默认导出写法

2.default和变量一起导出

60b5a231802b

export default和export变量方式导出

3.抽离代码封装成函数,使其变成export成员导出

60b5a231802b

函数导出

这里就大概把es6模块化介绍完毕,由于node环境不支持es6模块化语法,所以就要使用到node环境所支持的CommonJS模块化规范

CommonJS

CommonJS是一种被广泛使用的js模块化规范,核心思想是通过require方法来同步加载依赖的其他模块,通过module.exports导出需要暴露的接口。

60b5a231802b

module.exports导出,require导入

nodejs 不支持 es6 模块化规范,但可以使用第三方工具解决

1.在任意目录下执行,全局安装babel-cli 和 browserify: npm install babel-cli browserify -g

2.在自己项目目录下执行:npm install babel-preset-es2015 --save-dev

3.在项目根目录新建 .babelrc 文件 :

4、在src目录下书写完代码后,执行:babel src -d lib

60b5a231802b

.babelrc内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值