我正在使用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
模块?
答案 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。
希望这能澄清它。