angular - 如何解决此错误 Module not found : Error: Can't resolve 'fs'

标签 angular electron electron-builder electron-packager

我用 Electron 创建了新的 Angular 项目。我确实需要设置 Electron 。

我有以下错误。

./node_modules/electron/index.js 中的错误

未找到模块:错误:无法解析“D:\PATH\desktop\node_modules\electron”中的“fs”

我的 package.json 文件

{
  "name": "desktop",
  "version": "0.0.0",
  "main": "main.js",
  "scripts": {
          "ng": "ng",
          "start": "ng serve",
          "build": "ng build",
          "test": "ng test",
          "lint": "ng lint",
          "e2e": "ng e2e",
          "electron": "ng build && electron .",
          "electron-aot": "ng build --prod && electron ."
        },
  "private": true,
  "dependencies": {
    "@angular/animations": "~7.1.0",
    "@angular/common": "~7.1.0",
    "@angular/compiler": "~7.1.0",
    "@angular/core": "~7.1.0",
    "@angular/forms": "~7.1.0",
    "@angular/platform-browser": "~7.1.0",
    "@angular/platform-browser-dynamic": "~7.1.0",
    "@angular/router": "~7.1.0",
    "core-js": "^2.5.4",
    "rxjs": "~6.3.3",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.11.0",
    "@angular/cli": "~7.1.1",
    "@angular/compiler-cli": "~7.1.0",
    "@angular/language-service": "~7.1.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^8.9.5",
    "codelyzer": "~4.5.0",
    "electron": "^4.1.4",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.1.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.1.6"
  }      
}

最佳答案

该错误是因为 angular-CLI 不支持 Nodejs 中的模块,如“fs”和“path”。
将以下内容添加到“package.json”文件的根目录。

  "name": "testapp",
  "version": "1.0.0",
  "requires": true,
  ...
  "browser": {
    "fs": false,
    "path": false,
    "os": false
  }
...
}
此解决方案可能会有所帮助。

关于angular - 如何解决此错误 Module not found : Error: Can't resolve 'fs' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55779758/

相关文章:

Angular 和 Electron - 主进程和渲染进程之间的 IPC 通信

node.js - 本地原生 Node 模块导致错误 : Uncaught Error: No native build was found for platform=win32 arch=x64 runtime=electron abi=75 uv=1 libc=glibc

windows - 使用 Electron 生成器从 Electron 应用程序构建独立的 .exe

javascript - 如何使用 Electron-builder 使用相对路径包含 Node.js 模块

node.js - 增加 Electron 内存限制

angular - Primeng - 无法在列中显示数组项

javascript - Bootstrap 4 与 Angular 4 导航栏

angular - 使用 (ngModelChange) 两次

javascript - Angular 2+ 如何在打开模态时将焦点集中到模态输入?

javascript - 在Electron.js中使用 `closable: false`关闭窗口