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

kofifus:

我安装了chrome beta-版本60.0.3112.24(正式版本)beta(64位)

在chrome:// flags /中,我启用了“实验性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漏洞还是在这种情况下ES6需要扩展?

而且webpack不用扩展就可以构建它!

贝尔吉:

不,模块不关心扩展。它只需要是一个解析为源文件的名称即可。

在您的情况下,http://localhost/bla/src/drawImageis不是文件,http://localhost/bla/src/drawImage.js而是is,所以这就是错误的出处。例如,您可以.js在所有import语句中添加,也可以将服务器配置为忽略扩展名。Webpack也是一样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章