如下面,我预处理加载了一个preload.js文件,里面就是加载fs用了一下,但运行总是提示没有发现fs.
官方发布了,禁止使用所有nodejs API了。
From Electron 20 onwards, preload scripts are sandboxed by default and no longer have access to a full Node.js environment. Practically, this means that you have a polyfilled require function that only has access to a limited set of APIs.
好像得配置一下,现在默认的话proload只有浏览器环境,或者通过ipc通信来间接调用
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
}
2 回答2.5k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
3.7k 阅读
1 回答8.4k 阅读
2 回答5.6k 阅读✓ 已解决
4k 阅读
3.6k 阅读
1.9k 阅读
只有
NodeJS
内才有这个模块,浏览器端是没有Node
环境的,也就是说浏览器是没有FS
模块的。如果你想要直接在浏览器中使用是不行的。如果想要在
Electron
项目内使用的话,需要开启Node
支持(默认是关闭的),也就是说要修改main.js
的配置项:具体可以查看这 部分的文档 中关于
webPreferences
项的配置。如果是使用的
Vue
+Electron-builder
的话,对应的配置的位置会有变动,按照实际项目情况来配置就好了。