javascript - webpack 和 kafka-node 集成

标签 javascript node.js npm webpack

我正在尝试将我编写的 Javascript 集成到 HTML 文件中。由于脚本需要 kafka-node 才能生成类似 this 的内容,我正在尝试使用 webpack 来捆绑所有内容。 我正在使用这个 getting started指导并使其适应我的具体情况。我唯一要更改的是 index.js 文件,将我的脚本放在那里,如下所示:

import _ from 'kafka-node';

document.write("Starting Javascript Kafka Consumer...");

var kafka = require('kafka-node'),
    Consumer = kafka.Consumer,
    client = new kafka.Client("127.0.0.1:2181"),
    consumer = new Consumer( ...

...

我使用的配置文件与上述入门引用链接中发布的配置文件相同。

我确实运行了 npm install --save-dev webpacknpm install --save kafka-node。这是我的输出:

./node_modules/.bin/webpack --config webpack.config.js 
Hash: f2fd34c274324b3ac92a
Version: webpack 3.4.1
Time: 1475ms
    Asset     Size  Chunks                    Chunk Names
bundle.js  1.48 MB       0  [emitted]  [big]  main
   [6] (webpack)/buildin/global.js 509 bytes {0} [built]
  [39] (webpack)/buildin/module.js 517 bytes {0} [built]
  [69] ./src/index.js 890 bytes {0} [built]
 [103] ./node_modules/optional 160 bytes {0} [optional] [built]
 [112] ./node_modules/buffermaker ^.*BufferMaker$ 205 bytes {0} [built]
 [122] ./node_modules/node-zookeeper-client/lib/jute 160 bytes {0} [built]
    + 139 hidden modules

WARNING in ./node_modules/node-zookeeper-client/lib/jute/index.js
771:20-47 Critical dependency: the request of a dependency is an expression

WARNING in ./node_modules/optional/optional.js
6:11-26 Critical dependency: the request of a dependency is an expression

ERROR in ./node_modules/kafka-node/lib/client.js
Module not found: Error: Can't resolve 'net' in '/home/work-xpandit/consumerJS/node_modules/kafka-node/lib'
 @ ./node_modules/kafka-node/lib/client.js 3:10-24
 @ ./node_modules/kafka-node/kafka.js
 @ ./src/index.js

ERROR in ./node_modules/kafka-node/lib/kafkaClient.js
Module not found: Error: Can't resolve 'net' in '/home/work-xpandit/consumerJS/node_modules/kafka-node/lib'
 @ ./node_modules/kafka-node/lib/kafkaClient.js 10:12-26
 @ ./node_modules/kafka-node/kafka.js
 @ ./src/index.js

ERROR in ./node_modules/kafka-node/lib/client.js
Module not found: Error: Can't resolve 'tls' in '/home/work-xpandit/consumerJS/node_modules/kafka-node/lib'
 @ ./node_modules/kafka-node/lib/client.js 5:10-24
 @ ./node_modules/kafka-node/kafka.js
 @ ./src/index.js

ERROR in ./node_modules/kafka-node/lib/kafkaClient.js
Module not found: Error: Can't resolve 'tls' in '/home/work-xpandit/consumerJS/node_modules/kafka-node/lib'
 @ ./node_modules/kafka-node/lib/kafkaClient.js 12:12-26
 @ ./node_modules/kafka-node/kafka.js
 @ ./src/index.js

ERROR in ./node_modules/node-zookeeper-client/index.js
Module not found: Error: Can't resolve 'net' in '/home/work-xpandit/consumerJS/node_modules/node-zookeeper-client'
 @ ./node_modules/node-zookeeper-client/index.js 19:24-38
 @ ./node_modules/kafka-node/lib/consumerGroupMigrator.js
 @ ./node_modules/kafka-node/lib/consumerGroup.js
 @ ./node_modules/kafka-node/kafka.js
 @ ./src/index.js

ERROR in ./node_modules/node-zookeeper-client/lib/ConnectionManager.js
Module not found: Error: Can't resolve 'net' in '/home/work-xpandit/consumerJS/node_modules/node-zookeeper-client/lib'
 @ ./node_modules/node-zookeeper-client/lib/ConnectionManager.js 8:10-24
 @ ./node_modules/node-zookeeper-client/index.js
 @ ./node_modules/kafka-node/lib/consumerGroupMigrator.js
 @ ./node_modules/kafka-node/lib/consumerGroup.js
 @ ./node_modules/kafka-node/kafka.js
 @ ./src/index.js

ERROR in ./node_modules/node-zookeeper-client/lib/jute/index.js
Module not found: Error: Can't resolve 'fs' in '/home/work-xpandit/consumerJS/node_modules/node-zookeeper-client/lib/jute'
 @ ./node_modules/node-zookeeper-client/lib/jute/index.js 14:9-22
 @ ./node_modules/node-zookeeper-client/index.js
 @ ./node_modules/kafka-node/lib/consumerGroupMigrator.js
 @ ./node_modules/kafka-node/lib/consumerGroup.js
 @ ./node_modules/kafka-node/kafka.js
 @ ./src/index.js

ERROR in ./node_modules/buffermaker/test/BufferMaker.js
Module not found: Error: Can't resolve 'should' in '/home/work-xpandit/consumerJS/node_modules/buffermaker/test'
 @ ./node_modules/buffermaker/test/BufferMaker.js 1:0-17
 @ ./node_modules/buffermaker ^.*BufferMaker$
 @ ./node_modules/buffermaker/index.js
 @ ./node_modules/kafka-node/lib/protocol/protocol.js
 @ ./node_modules/kafka-node/lib/protocol/index.js
 @ ./node_modules/kafka-node/kafka.js
 @ ./src/index.js

有什么想法吗?

最佳答案

此模块的测试编写方式取决于 should 作为 devDependency。即使父项目处于开发模式,NPM 开发依赖项也不会安装在父项目中。只需运行:

npm i -D should

即使您不在项目中使用它。这为我解决了这个问题。我的项目有其他要求,例如已经安装了 Mocha。如果您丢失了更多,您可能需要对多个包裹执行此操作。

关于javascript - webpack 和 kafka-node 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45332930/

相关文章:

javascript - 使用 javascript 将带有图像标签的 Svg 转换为 png

node.js - 将元素插入嵌套数组 mongoose nodejs

javascript - 使用 `--fix` 标志自动化 ESLint 会产生哪些问题?

javascript - 如何通过管道将代码和单元测试传递给 npm test?

c# - 在 IIS Express 停止后停止 npm 任务/脚本

npm - 从 Bower(已停产)改为使用 Yarn/Npm(.Net Core MVC)VS2017

javascript - 通过光标拖动使 d3.js 数据图旋转

java - 隐藏查询字符串以在 URL : URL Rewriting 中显示

javascript - 单击外部元素而不使用 event.stopPropagation

node.js - sequelizejs ( nodejs orm ) 无法同步模型