Я пытаюсь интегрировать в HTML файл Javascript, написанный мной. Поскольку для скрипта требуется kafka-node, чтобы создать что-то вроде этого, я пытаюсь использовать webpack для того, чтобы связать все. Я использую это руководство для начала работы и адаптирую его для моего конкретного случая. Единственное, что я меняю, - index.js
файл index.js
, 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 webpack
и npm 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
. Dev-зависимые NPM не установлены в родительском проекте, даже если родительский объект находится в режиме dev. Просто беги:
npm i -D should
Даже если вы не используете его в своем проекте. Это решает проблему для меня. У моего проекта были другие требования, такие как Mocha. Если вам больше не хватает, вам может потребоваться сделать это для нескольких пакетов.