javascript – ES6导入/导出是否需要“.js”扩展名?

我安装了chrome beta – 版本60.0.3112.24(官方版本)测试版(64位)

在chrome:// flags / I中启用了“实验性Web平台功能”(参见https://jakearchibald.com/2017/es-modules-in-browsers)

然后我尝试了:

<script type="module" src='bla/src/index.js'></script>

其中index.js有一行如下:

export { default as drawImage } from './drawImage';

这是指现有的文件drawImage.js

我在控制台得到的是错误

GET http://localhost/bla/src/drawImage

如果我更改导出并添加“.js”扩展名,它可以正常工作.

这是一个chrome bug还是ES6在这种情况下要求扩展?

webpack也可以在没有扩展的情况下构建它!

解决方法

扩展名是文件名的一部分.你必须把它放进去.

作为证明尝试这个:

>将文件重命名为drawImage.test
>编辑index.js以包含’./drawImage.test’

重新加载,你会看到扩展js或test完全是arbirary,只要你在导出中指定它.

显然,在测试后恢复到正确/更好的js扩展.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...