【问题标题】:Electron Angular App, how to use native node modulesElectron Angular App,如何使用本机节点模块
【发布时间】:2018-06-23 16:27:37
【问题描述】:

我正在尝试使用 Angular 制作电子应用。

我按照教程 here。相当整洁的工作。 但我正在尝试使用本机节点模块,特别是“fs”

import { Injectable } from '@angular/core';
import * as fs from 'fs';
@Injectable()
export class FilesService {

  constructor() { }

  someMethod() {
    return fs.lstat('./');
  }
}

在构建应用程序时出现此错误: ERROR in src/app/shared/files.service.ts(2,21): error TS2307: Cannot find module ‘fs’.

上网一会发现和angular cli生成的webpack配置有关,但是不知道怎么改这些配置...

【问题讨论】:

    标签: angular webpack electron angular-cli


    【解决方案1】:

    你可能需要调整 webpack 配置

    1. 应用正确的目标(https://webpack.js.org/configuration/target/#string)
    2. 应用正确的externals 以不捆绑nodejs 端模块。

    【讨论】:

    • 我使用angular-cli制作了应用程序,它通过angular-cli.json配置webpack,无论如何我可以覆盖生成的webpack配置,还是我必须推出自己的webpack配置并丢弃angular-cli 项目?
    • 好的,所以我使用了 ngject --build 并配置了 webpack.config ` "target": "electron-renderer", "externals": { "fs": require ("fs") } ` 仍然不起作用。
    • 没关系,添加 "target": "electron-renderer" 后一切正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 2016-02-24
    • 2017-06-28
    • 2022-01-06
    • 2018-04-06
    • 2019-10-17
    • 2015-02-06
    相关资源
    最近更新 更多