Создание внешней зависимости Kafka. js с использованием webpack в узле как общего модуля js - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь сделать kafka js внешнюю зависимость (выйти из пакета webpack) с этим конфигом:

externals: {
    kafkajs: 'kafkajs',
    redis: 'redis'
}

Зависимости:

  dependencies: {
    ...
    "kafkajs": "^1.12.0",
    ...
  }

Но я Получение ошибки «Не удается найти модуль»:

{
  "error": "Initialization has failed due to: Error: Cannot find module 'kafkajs'\n    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)\n    at Function.Module._load (internal/modules/cjs/loader.js:507:25)\n    at Module.require (internal/modules/cjs/loader.js:637:17)\n    at require (internal/modules/cjs/helpers.js:22:18)\n    at Object.<anonymous>"
}

Я попытался очистить кэш, снова сохранить зависимость и с другой конфигурацией внешних элементов:

externals: [
    "kafkajs",
    {
       Kafka: {
        commonjs: ["kafkajs", "Kafka"], 
    }
]

Спасибо за любые указания

1 Ответ

1 голос
/ 31 марта 2020

Если вы связываете ваше приложение node.js, лучше пометить как внешние все node_modules, для этого есть библиотека, webpack-node-externals .

npm install webpack-node-externals --save-dev
//webpack.config.js

const nodeExternals = require('webpack-node-externals');
...
module.exports = {
    ...
    target: 'node', // in order to ignore built-in modules like path, fs, etc.
    externals: [nodeExternals()], // in order to ignore all modules in node_modules folder
    ...
};
...