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

标签 javascript webpack postmark

我正在使用 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/

相关文章:

javascript - 为什么 "keys"没有在代码中定义,而是在控制台上?

javascript - React Webpack 动态文件名

email - 我可以使用邮戳来创建线索式回复吗?

ruby 邮件程序 : Wrong number of arguments

javascript - Ajax AutoComplete autoFocus 无法与 .Focus 一起使用

javascript - 在文本框上输入时如何避免 css 和脚本效果

Javascript 测验数组和淡入/淡出

css - 为 Angular2 中的组件加载多个样式表

javascript - Node 服务器启动后运行脚本

dns - DMARC/SPF 配置错误