离子3 - 使用电子的'child_process'

时间:2017-12-29 05:45:00

标签: typescript types electron ionic3 child-process

我正在构建一个桌面应用程序,我想从我的应用程序中打开外部应用程序。我正在使用电子child_process来执行此操作。但我陷入了如何在TypeScript文件中导入child_process的问题。

我尝试使用require('child_process').execSystem.import('child_process').exec,但却抛出错误“无法找到模块'child_process'。

但是当我在index.html的{​​{1}}上使用它时,它可以正常使用!

我得到了这个解决方案here。但它正在与SystemJS合作。但是我的项目没有配置SystemJS。

任何帮助将不胜感激。提前谢谢!

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。

需要在webpack.config.js中添加以下数组。

 externals: [
(function () {
    var IGNORES = ["fs","child_process","electron","path","assert","cluster","crypto","dns","domain","events","http","https","net","os","process","punycode","querystring","readline","repl","stream","string_decoder","tls","tty","dgram","url","util","v8","vm","zlib"];
    return function (context, request, callback) {
        if (IGNORES.indexOf(request) >= 0) {
            return callback(null, "require('" + request + "')");
        }
        return callback();
    };
})()
],

这将告诉ionic忽略数组IGNORES中列出的模块。