在没有 Webpack 的情况下使用模块 "child_process"

Using module "child_process" without Webpack

我正在使用 Webpack 来捆绑依赖项,其中之一是电子邮件服务 postmark。这个服务依赖于一个叫做 child_process 的东西,它显然是 node 附带的。

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

Module not found: Error: Cannot resolve module 'child_process' in ...

网上的大部分答案都说,针对这个错误,我应该添加这行:

  node: {
    child_process: 'empty'
  }

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

Uncaught TypeError: exec is not a function

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

因此,我想知道如何在我的构建中包含 child_process 模块而不会引起 webpack 的抱怨?

Front-end 这里是 Postmark 的开发者。

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

不支持浏览器环境的主要原因是安全问题。如您在此示例中所见:

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

它要求您插入授权令牌。将它与您的 client-side JS 捆绑在一起会公开它并允许每个人访问您的邮戳帐户 API。

希望这能说明问题。