我正在使用电子,我的主要流程中有以下内容
import * as Git from "nodegit";
console.log("NodeGit version is:", Git.version);
console.log("The HARD reset type has the id", Git.Reset.TYPE.HARD);
当我像往常一样开始纱线时,我得到以下输出
NodeGit version is: 0.27.0
App threw an error during load
TypeError: Cannot read property 'TYPE' of undefined
at Object../src/main.ts ([redacted-project-dir]\.webpack\main\index.js:17543:57)
at __webpack_require__ ([redacted-project-dir]\.webpack\main\index.js:21:30)
at [redacted-project-dir]\.webpack\main\index.js:85:18
at Object.<anonymous> ([redacted-project-dir]\.webpack\main\index.js:88:10)
at Module._compile (internal/modules/cjs/loader.js:968:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:986:10)
at Module.load (internal/modules/cjs/loader.js:816:32)
at Module._load (internal/modules/cjs/loader.js:728:14)
at Module._load (electron/js2c/asar.js:717:26)
at Function.Module._load (electron/js2c/asar.js:717:26)
这可以在使用创建的新项目中复制
yarn create electron-app my-electron-webpack-typescript --template=typescript-webpack
请注意,当我使用 ipc 在渲染器进程中执行这些操作时,我会得到相同的结果。
我在这里找到了一个类似问题的讨论,其中解决方案似乎是将构建目标设置为 ES5 而不是 ES6,因为 Reset 模块有一个调用的函数default
,可能导致 ES6 代码无法导入它。我不确定这是否可能是这种情况。
但我不知道如何将编译目标指定为 ES5。(我正在使用 webpack,我似乎也在使用 babel。)