首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电子封装后不支持ES6

电子封装后不支持ES6
EN

Stack Overflow用户
提问于 2018-03-29 12:25:24
回答 2查看 1.9K关注 0票数 7

我在我的ES6语法 -based应用程序中使用各种import (例如import等)& 反应代码(JSX)。在开发过程中,为了支持这些新特性,我使用了电子预编译包(作为开发依赖项),它运行得非常好,没有任何错误。

但是,在使用电子包装机包打包我的应用程序并运行可发行应用程序文件之后,我遇到了不支持的ES6相关错误,例如:

代码语言:javascript
复制
Unexpected token import

这就是我如何运行电子打包器命令(请注意平台和架构标志):

代码语言:javascript
复制
electron-packager . MyCoolApp --platform=linux --arch=x64

为什么我的应用程序的打包/可发行版本不支持ES6/React特性?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-01 16:53:28

解决了。

事实证明,在默认情况下,devDependencies在打包过程中被省略了,这意味着electron-prebuild-compile包对于打包的应用程序来说是“游戏之外的”,没有它,ES6就不能被转换。因此,为了禁用这种默认行为,我必须使用--no-prune标志调用packager命令,这样devDependencies就不会被删除:

代码语言:javascript
复制
electron-packager . MyCoolApp --platform=linux --arch=x64 --no-prune

此外,为了在呈现之前“编译”代码(应该用作应用程序的主要入口点脚本),我还引入了一个用于初始化主应用程序脚本的新脚本(让我们将其命名为:es6-init.js):

代码语言:javascript
复制
var appRoot = path.join(__dirname, '..');

require('electron-compile').init(appRoot, require.resolve('./main'));

参考文献:

票数 3
EN

Stack Overflow用户

发布于 2018-03-30 21:31:50

Nodejs(和它一起,电子)不支持importexport。您将需要使用require();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49556041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档