我正在使用 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 的提示?
最佳答案
这里是 Postmark 的前端开发人员。
看起来您正在尝试将 postmark.js
捆绑到您的客户端 JavaScript 中,但是 https://github.com/wildbit/postmark.js是一个 Node.js 库。这意味着它不会在浏览器中运行,需要运行 Node.js 服务器。
不支持浏览器环境的主要原因是安全。正如您在此示例中所见:
var postmark = require("postmark");
var client = new postmark.Client("<server key>");
它要求您插入授权 token 。将它与您的客户端 JS 捆绑在一起会公开它并允许每个人访问您的邮戳帐户 API。
希望这能澄清它。
关于javascript - 在没有 Webpack 的情况下使用模块 "child_process",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34983446/