使用 node 中的 webpack 作为 commonjs 模块制作 Kafka.js 外部依赖

我正在尝试使用此配置制作 kafkajs 外部依赖项(从 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"], 

    }

]

提前感谢您的任何指导


MMTTMM
浏览 130回答 1
1回答

红颜莎娜

如果您正在捆绑您的 node.js 应用程序,最好将所有 node_modules 标记为外部,有一个 lib 用于此,webpack-node-externals。npm install webpack-node-externals --save-dev//webpack.config.jsconst nodeExternals = require('webpack-node-externals');...module.exports = {&nbsp; &nbsp; ...&nbsp; &nbsp; target: 'node', // in order to ignore built-in modules like path, fs, etc.&nbsp; &nbsp; externals: [nodeExternals()], // in order to ignore all modules in node_modules folder&nbsp; &nbsp; ...};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript