如何用打字稿中的电子引用节点fs API?

时间:2016-09-09 18:23:17

标签: typescript webpack electron

我已根据this link创建了一个电子应用程序(但使用的是最近的模块)。

我想创建一个简单的桌面应用程序,我需要打开一些本地文件。我知道有这个节点的fs API,但是我在正确引用它时遇到了问题。

以下是我的尝试:

  • 基于Stackoverflow中的this queston,我尝试导入并使用这样的fs:

    ///<reference path="../typings/node/node.d.ts"/>
    import fs = require('fs');
    fs.readFileSync('foo.txt','utf8');
    

    结果,我找到了模块:错误:当我调用 npm run build >

  • 然后我将以下行添加到 webpack.config.js (我在某处阅读):

    node: {
      fs: "empty"
    },
    

    然后 npm run build 命令没问题,但我在电子的开发者工具中看到运行时出现以下错误: TypeError:fs.​​readFileSync不是函数

我对此主题不熟悉,如果有人可以帮助我正确引用节点的fs API,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

您需要在Webpack配置中设置target: 'electron-renderer',如果在此之后仍有问题,请查看https://github.com/chentsulin/electron-react-boilerplate