kof*_*fus 10 javascript es6-modules
我安装了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>
Run Code Online (Sandbox Code Playgroud)
其中index.js有一行如下:
export { default as drawImage } from './drawImage';
Run Code Online (Sandbox Code Playgroud)
这是指现有的文件drawImage.js
我在控制台得到的是错误
GET http://localhost/bla/src/drawImage
Run Code Online (Sandbox Code Playgroud)
如果我更改导出并添加".js"扩展名,它可以正常工作.
这是一个chrome bug还是ES6在这种情况下要求扩展?
webpack也可以在没有扩展的情况下构建它!
扩展名是文件名的一部分.你必须把它放进去.
作为证明尝试这个:
drawImage.testindex.js以包含'./drawImage.test'重新加载,你会看到扩展js或test完全arbirary,只要你在中指定它export.
显然,测试后恢复到正确/更好的js扩展.
不,模块不关心扩展。它只需要是一个解析为源文件的名称即可。
在您的情况下,http://localhost/bla/src/drawImageis不是文件,http://localhost/bla/src/drawImage.js而是is,所以这就是错误的出处。例如,您可以将服务器配置为忽略扩展名。Webpack也是一样。
| 归档时间: |
|
| 查看次数: |
3974 次 |
| 最近记录: |