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 window.event对象详尽解析
Feb 17 Javascript
本地对象Array的原型扩展实现代码
Dec 04 Javascript
js中arguments,caller,callee,apply的用法小结
Jan 28 Javascript
node.js中的querystring.stringify方法使用说明
Dec 10 Javascript
js实现两点之间画线的方法
May 12 Javascript
浅谈Javascript中的12种DOM节点类型
Aug 19 Javascript
使用Fullpage插件快速开发整屏翻页的页面
Sep 13 Javascript
AngularJS实现的base64编码与解码功能示例
May 17 Javascript
vue数据操作之点击事件实现num加减功能示例
Jan 19 Javascript
快速对接payjq的个人微信支付接口过程解析
Aug 15 Javascript
JS实现音乐钢琴特效
Jan 06 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
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命名空间(Namespace)简明教程
2014/06/11 PHP
php里array_work用法实例分析
2015/07/13 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
js获取form的方法
2015/05/06 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
Python中逗号的三种作用实例分析
2015/06/08 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
安装python及pycharm的教程图解
2019/10/10 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
详解python中docx库的安装过程
2019/11/08 Python
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
教师专业理论水平的自我评价分享
2013/11/09 职场文书
2014学年自我鉴定
2014/02/23 职场文书
学校工作推荐信范文
2014/07/11 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
学校学期工作总结
2015/08/13 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫