【问题标题】:fs.writeFile is not a function in angular2+electronfs.writeFile 不是 angular2+electron 中的函数
【发布时间】:2018-09-03 19:54:02
【问题描述】:

我有 electron + angular2 项目。

用户注册后我需要创建文件并保存在本地。

在我尝试使用的 register.component.ts 文件中

        import fs = require('fs');
        ...
        fs.writeFile(filename, content, (err) => {
        if (err) {
            alert("An error ocurred creating the file " + err.message)
        }

        alert("The file has been succesfully saved");
    });

我已经安装并添加了节点类型

    node: {
    fs: "empty"
    },

到 webpack.common.js 文件。

现在我明白了

ERROR TypeError: fs.writeFile is not a function

有什么可能导致这种情况的想法吗?

【问题讨论】:

  • 你的target也是node吗?
  • @H.B.介意解释你的问题吗? :(
  • webpack 配置有一个名为"target" 的属性,它必须是"node"。此外,您可能还需要将tsconfig.json 中的"moduleResultion" 设为"node"
  • 我没有使用过<package>: empty 之类的东西,在大多数情况下我只是通过webpack-node-externals 声明了外部。
  • @H.B.找到了,目前是“target”:“es5”。 ModuleResolution 是节点。我将其更改为节点

标签: javascript node.js typescript electron filestream


【解决方案1】:

你可以试试window.require('fs')

【讨论】:

    【解决方案2】:

    尝试在文件顶部的imports 部分之后使用const fs = require('fs');

    【讨论】:

      猜你喜欢
      • 2021-03-08
      • 1970-01-01
      • 2019-01-06
      • 2021-08-18
      • 1970-01-01
      • 2017-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多