我正在使用Electron编写应用程序。当前版本4.0.6基于Node 10.11.0和Chrome 69.0.3947.106。
我认为Electron的最新版本将支持ECMAScript(ES6)模块,但到目前为止,我还无法使它们正常工作。特别是在启动应用程序时,该行:
从'./action'导入{runTask};
给出运行时错误:
未捕获的SyntaxError:意外令牌{
在我进一步努力查找问题之前,我想了解Electron中模块支持的状态。
Electron电子版本4(Chrome 69)是否支持ECMAScript(ES6)模块?
答案 0 :(得分:0)
Chrome显然支持他们Chrome 63:
https://caniuse.com/#feat=es6-module-dynamic-import
这可能意味着您可以在前端使用它们?
但是节点v11.11.0似乎仅通过额外的标记--experimental-modules
支持它们:
https://nodejs.org/api/esm.html
我找不到参考,但是也许节点10.11.0是相同的,那也将使它们在Electron后端上工作吗?
(对不起,我仍在使用较旧的Electron,并且愉快地使用了老式的require()
,因此无法从个人经验中告诉您它是否可行。)
答案 1 :(得分:0)
您肯定缺少type="module"
标签上的<script>
属性。
然后您将遇到文件协议问题,您可以通过注册自己的协议来解决该问题,如Electron ES6 module import
中所述