【发布时间】:2019-05-30 14:42:48
【问题描述】:
我有一个 React/Electron 应用程序,我正在使用 electron-builder 在 Windows 上构建它。它构建得很好,但是当我尝试运行打包的程序时,我得到了
Uncaught Exception:
C:\My Project\dist\win-unpacked\resources\app.asar\build\electron.js:1
(function (exports, require, module, __filename, __dirname, process, global, Buffer) { return function (exports, require, module, __filename, __dirname) { /home/jd/projects/app/src/start.js
^
SyntaxError: Invalid regular expression flags
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:660:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:704:10)
at Module.load (internal/modules/cjs/loader.js:602:32)
at tryModuleLoad (internal/modules/cjs/loader.js:541:12)
at Function.Module._load (internal/modules/cjs/loader.js:533:3)
at Object.<anonymous> (C:\My Project\dist\win-unpacked\resources\electron.asar\browser\init.js:188:8)
at Object.<anonymous> (C:\My Project\dist\win-unpacked\resources\electron.asar\browser\init.js:190:3)
我试图理解这一点。我已经解压electron.asar 来查看init.js,它有189 行(?),第188 行是
Module._load(path.join(packagePath, mainStartupScript), Module, true)
这似乎是在 Electron 中发生的事情,在我编写的应用程序之外被调用?在它到达我的主要start.js for React 之前,这看起来像是一个错误。
感谢您对如何调试此问题的任何想法,如果我可以提供任何更有用的信息,请告诉我。
编辑:我当然应该提到,我不会在我的应用程序的任何地方使用任何正则表达式。
编辑 2:我已将 package.json 上传到 this gist
编辑 3:这个项目是用 create-react-app 引导的
【问题讨论】:
-
您的应用程序中有正则表达式吗?
-
@Rockey 不,我不知道。将其添加到帖子中。
-
看看这个github.com/babel/babel/issues/5564,看看它是否适用于你
-
仅凭错误输出很难确定。这似乎是构建脚本注入文件路径的问题。
/home/被解释为带有jd/projects/app/src/start.js无效标志的正则表达式。可能需要提供你的 package.json 供人们复制 -
嗯,我没用过电子。在您的 package.json 中,您使用
react-scripts build构建您可能想要electron-builder。或许可以尝试使用他们的演示项目创建一个电子应用程序,并将其添加为依赖项。
标签: javascript reactjs electron electron-builder