Webpack Externals 不需要用 Electron 和 Angular 4 定义

Webpack Externals require not defined with Electron and Angular 4

我有一个 WebpackElectronAngular 4[=28= 的设置].我搜索并尝试了几种方法,但是由于无法解决,所以我要在这里问一下。

当我 运行 webpack 时,它编译没有错误,但是在浏览器的控制台中我得到

Uncaught ReferenceError: require is not defined
    at Object.128 (external "require('fs')":1)

我尝试以多种方式包含它:

let fs = require("fs");

我在路径、child_process 等方面遇到了同样的问题

我的webpack.config.js定义了外部:

module.exports = {
    "externals": {
        "electron": "require('electron')",
        "child_process": "require('child_process')",
        "fs": "require('fs')",
        "path": "require('path')",...
    }
}

更新

解决了。由于所有 Node 函数都已通过 Webpack 外部提供,因此 不必要求 它们但 通过导入 使用它们,如下所示:

import * as fs from 'fs';

您可以阅读有关解决方案的更多信息 in my article