我刚刚开始构建Chrome扩展程序,如果我能够使用ES6,我很好奇.
在以下兼容性表中,Chrome 41显示它目前具有41%的兼容性.这样的一些关键功能class不包括在41%中,所以我很好奇是否有其他选项,例如转换.
我已经在Ember CLI中使用了Babel,一个ES6转换程序,它运行得很好.
但是,在开发chrome扩展时,我发现构建过程有点不同.例如,在测试我正在开发的扩展时,我通过"加载解压扩展"选项将其加载到浏览器中,该选项直接指向源代码.
对于我正在构建的扩展,我使用yeoman chrome扩展生成器作为基础.理想情况下,我希望能够设置一些挂钩到debug任务的grunt任务,然后在它更改到单独的目录时转换代码.从那里,我可以通过load unpacked extension选项加载该目录的内容.但是,我不确定如何做到这一点,或者是否还有其他选择.
javascript google-chrome google-chrome-extension gruntjs ecmascript-6
这与ES6模块在谷歌Chrome扩展开发(意外令牌)中的问题不同,因为它已经过时且已经得到解答.
谷歌发布了一则新闻稿,声称Chrome支持ES6模块.我正在尝试从扩展中加载模块.我可以从普通页面加载模块,但不能从扩展名中加载.
这是html,这是扩展上下文中的页面:
<script src="test.js" type="module"></script>
Run Code Online (Sandbox Code Playgroud)
当我打开页面时,我在控制台中看到以下错误消息:
无法加载模块脚本:服务器使用非JavaScript MIME类型""进行响应.对每个HTML规范的模块脚本强制执行严格的MIME类型检查.
有人有建议吗?这是一个应该向Chrome报告的错误吗?或者它还没有得到支持?我无法找到任何直截了当的解释.