【发布时间】:2021-03-07 19:19:02
【问题描述】:
我正在尝试将 RxJs(或任何其他非节点库,例如)添加到启用 contextIsolation 的电子渲染器进程。我也在使用 Typescript。
如果我在 renderer.ts 中需要或导入“rxjs”,则加载失败:Uncaught ReferenceError: exports is not defined. 我查看了其他解决方案,这可能是打字稿配置问题,但目标和模块设置的各种排列似乎没有有所作为。
当前设置。
"target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
// "lib": [],
在 main.js 中
var mainWindow = new BrowserWindow({
width: 1600,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'dist/preload.js'),
enableRemoteModule: false,
nodeIntegration: false,
contextIsolation: true,
sandbox: true
}
});
将它单独添加到 renderer.ts 的顶部会编译,如果我尝试使用 rxjs,实际上需要编译,但不会加载到 index.html
import { BehaviorSubject } from 'rxjs';
其他一切基本上都是电子样板。
【问题讨论】:
标签: javascript typescript rxjs electron