欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Es6 写的文件import解决方案(详细解读)

程序员文章站 2022-04-19 18:11:29
...
这篇文章主要介绍了如何让es6 写的文件import 起来详解的相关资料,需要的朋友可以参考下

这段时间,学习了一点关于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中

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

JS做出哈希表功能

JS获取url参数并发送json格式POST步骤详解

JS EventEmitter使用技巧总结

以上就是Es6 写的文件import解决方案(详细解读)的详细内容,更多请关注其它相关文章!