Es6 写的文件import 起来解决方案详解


Posted in Javascript onDecember 13, 2016

这段时间,学习了一点关于es6新规范的知识,然后心血来潮,想尝试一下用ES6编写的代码在浏览器中跑起来。

说干就干,先说下我的实现步骤(没想到有坑!)

  1. 把ES6代码转译成ES5;
  2. html文件引入转译后的ES5;
  3. 然后在浏览器环境中运行;
  4. 在node环境中运行;

然后下面是我的一些目录结构,大致预览一下。

src,es6开发目录

Es6 写的文件import 起来解决方案详解

dist,es5生产目录

Es6 写的文件import 起来解决方案详解

test,一个测试目录

Es6 写的文件import 起来解决方案详解

 然后,看一下我的ES6开发的一些js是什么样子。

file  Es6 写的文件import 起来解决方案详解      file2  Es6 写的文件import 起来解决方案详解    app  Es6 写的文件import 起来解决方案详解

test  Es6 写的文件import 起来解决方案详解

然后我们在html中引入dist中的经过转译的文件

Es6 写的文件import 起来解决方案详解

在浏览器中测试,test中因为没引入模块,所以正常执行,app中因为引入了模块,而且是CommonJS规范,但是浏览器不支持这种规范,因此报错

Es6 写的文件import 起来解决方案详解

假如,我们为了测验,就给html加上requireJS文件,浏览器支持AMD/CMD规范。异步加载定义。

但是,我们发现,还是会报错,说明语法不支持,或者两者冲突了,因为一种是AMD,一种是CommonJS。

Es6 写的文件import 起来解决方案详解 

由于我们通过node来编译ES6成ES5,node模块就是参照CommonJS规范来的,所以ES5的语法,也属于CommonJS规范,而且现在的浏览器和node都不支持ES6的规范或大部分不支持。

解决方法

   经过查阅资料,发现可以通过webpack打包工具来将依赖合并成一个文件,然后引入html中。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
JS数组去重与取重的示例代码
Jan 24 Javascript
jQuery内容过滤选择器用法分析
Feb 10 Javascript
jQuery实现可编辑的表格实例讲解(2)
Sep 17 Javascript
javascript中Date format(js日期格式化)方法小结
Dec 17 Javascript
jQuery改变form表单的action,并进行提交的实现代码
May 25 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 Javascript
Angular4学习之Angular CLI的安装与使用教程
Jan 04 Javascript
基于react后端渲染模板引擎noox发布使用
Jan 11 Javascript
vue多页面开发和打包正确处理方法
Apr 20 Javascript
详解如何理解vue的key属性
Apr 14 Javascript
Node.js API详解之 assert模块用法实例分析
May 26 Javascript
原生JavaScript实现拖动校验功能
Sep 29 Javascript
JS实现图片垂直居中显示小结
Dec 13 #Javascript
Javascript this 函数深入详解
Dec 13 #Javascript
JS实现动画兼容性的transition和transform实例分析
Dec 13 #Javascript
简单实现js浮动框
Dec 13 #Javascript
javascript中this关键字详解
Dec 12 #Javascript
深入理解javascript函数参数与闭包
Dec 12 #Javascript
smartupload实现文件上传时获取表单数据(推荐)
Dec 12 #Javascript
You might like
php使用curl发送json格式数据实例
2013/12/17 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
详解JavaScript函数绑定
2013/08/18 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
js表单登陆验证示例
2016/10/19 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
在Django框架中伪造捕捉到的URLconf值的方法
2015/07/18 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
python 线程的暂停, 恢复, 退出详解及实例
2016/12/06 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
Ajax主要包含了哪些技术
2014/06/12 面试题
大三毕业自我鉴定
2014/01/15 职场文书
个人实习生的自我评价
2014/02/16 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
学校四群教育实施方案
2014/06/12 职场文书
大国崛起日本观后感
2015/06/02 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
Pandas加速代码之避免使用for循环
2021/05/30 Python
Python字符串格式化方式
2022/04/07 Python