如何在打字稿中用电子引用节点 fs API?
How to reference node fs API with electron in typescript?
我创建了一个基于 this link 的电子应用程序(但使用最新的模块)。
我想创建一个简单的桌面应用程序,我需要打开一些本地文件。我知道有节点 fs API 用于此,但我在正确引用它时遇到问题。
这是我尝试过的:
基于 Whosebug 中的 this 问题,我尝试像这样导入和使用 fs:
///<reference path="../typings/node/node.d.ts"/>
import fs = require('fs');
fs.readFileSync('foo.txt','utf8');
结果,当我调用 npm 运行 时,我得到了 Module not found: Error: Cannot resolve module 'fs'建造
然后我在webpack.config.js中添加了以下几行(我在某处读到过):
node: {
fs: "empty"
},
然后 npm 运行 build 命令没问题,但我在 运行 时在 electron 的开发工具中看到以下错误:类型错误:fs.readFileSync 不是函数
我是这个主题的新手,如果有人能帮助我如何正确引用节点的 fs API,我将不胜感激。
您需要在您的 Webpack 配置中设置 target: 'electron-renderer'
,如果之后您仍然有问题,请查看 https://github.com/chentsulin/electron-react-boilerplate
我创建了一个基于 this link 的电子应用程序(但使用最新的模块)。
我想创建一个简单的桌面应用程序,我需要打开一些本地文件。我知道有节点 fs API 用于此,但我在正确引用它时遇到问题。
这是我尝试过的:
基于 Whosebug 中的 this 问题,我尝试像这样导入和使用 fs:
///<reference path="../typings/node/node.d.ts"/> import fs = require('fs'); fs.readFileSync('foo.txt','utf8');
结果,当我调用 npm 运行 时,我得到了 Module not found: Error: Cannot resolve module 'fs'建造
然后我在webpack.config.js中添加了以下几行(我在某处读到过):
node: { fs: "empty" },
然后 npm 运行 build 命令没问题,但我在 运行 时在 electron 的开发工具中看到以下错误:类型错误:fs.readFileSync 不是函数
我是这个主题的新手,如果有人能帮助我如何正确引用节点的 fs API,我将不胜感激。
您需要在您的 Webpack 配置中设置 target: 'electron-renderer'
,如果之后您仍然有问题,请查看 https://github.com/chentsulin/electron-react-boilerplate