使用没有Webpack的模块“child_process”

时间:2016-01-25 00:38:28

标签: javascript webpack postmark

我正在使用Webpack捆绑依赖项,其中一个是电子邮件服务postmark。这项服务取决于显然附带节点的名为child_process的东西。

问题是,当我尝试运行webpack捆绑我的应用时,它会抱怨:

  

找不到模块:错误:无法在...中解析模块'child_process'。

网上的大多数答案都说,为了回应这个错误,我应该添加一行:

  node: {
    child_process: 'empty'
  }

到我的webpack配置。但这没有任何意义,因为然后webpack不会尝试查找child_process,因此,当我运行我的应用程序时,我收到以下错误:

  

未捕获TypeError:exec不是函数

来自postmark(依赖于child_process的服务)抱怨exec模块中的child_process函数不存在的错误。

因此,我想知道如何在没有webpack抱怨的情况下在我的构建中包含child_process模块?

1 个答案:

答案 0 :(得分:2)

邮戳的前端开发人员。

您似乎正在尝试将postmark.js捆绑到客户端JavaScript中,但https://github.com/wildbit/postmark.js是一个Node.js库。这意味着它不会在浏览器中运行,并且需要运行Node.js服务器。

不支持浏览器环境的主要原因是安全性。正如您在此示例中看到的那样:

var postmark = require("postmark");
var client = new postmark.Client("<server key>");

它要求您插入身份验证令牌。将此与您的客户端JS捆绑在一起会暴露它并允许每个人访问您的邮戳帐户API。

希望这能澄清它。