我有一个 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 中发生的事情,在我编写的被调用的应用程序之外?这看起来像是一个错误,甚至在到达我的 React 主 start.js
之前。
感谢任何关于如何调试它的想法,如果我可以包含更多有用的信息,请告诉我。
编辑:当然我应该提到,我没有在我的应用程序的任何地方使用任何正则表达式。
编辑 2:我已将我的 package.json 上传到 this gist
编辑 3:这个项目是用 create-react-app
最佳答案
根据错误信息,有文本被解释为正则表达式。
查看您粘贴的错误消息,您可以看到文件 C:\My Project\dist\win-unpacked\resources\app.asar\build\electron.js
正确启动并且它们包含字符串 /home/jd/projects/app/src/start.js
。
我认为 /home/jd
被解析为带有标记 jd
的正则表达式,尽管唯一有效的标记是 gimuy
( source ).
我的建议是清理构建目录 C:\My Project\dist\win-unpacked\resources\app.asar\build\
并尝试再次编译,尽管我没有想一想字符串 /home/jd/projects/app/src/start.js
是如何出现在您构建的 Assets 中的。希望对您有所帮助!
关于javascript - react /Electron 中的 "SyntaxError: Invalid regular expression flags",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031953/