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

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

程序员文章站 2023-11-22 10:23:22
这段时间,学习了一点关于es6新规范的知识,然后心血来潮,想尝试一下用es6编写的代码在浏览器中跑起来。 说干就干,先说下我的实现步骤(没想到有坑!) 把es6...

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

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