node.js - 如何在 webpack 中包含 readline

标签 node.js webpack readline

我已经创建了nodejs控制台应用程序并尝试使用webpack缩小它。

webpack.config.js 我得到:

const path = require('path');

module.exports = {
    externals: {
        fs: "require('fs')",
        readline: "require('readline')",
    },
    entry: './index.js',
    output: {
        path: path.resolve(__dirname, 'bin'),
        filename: 'bin.js'
    },
    mode: 'development'
};

在运行构建的应用程序之前一切正常:

readline.js:189
input.on('data', ondata);
      ^
TypeError: input.on is not a function
at new Interface (readline.js:189:11)
at Object.createInterface (readline.js:69:10)

我应该怎样做才能避免这个错误?

最佳答案

我在某个地方找到了解决方案。在 webpack 配置文件中,我必须设置 target: node 来指示收集器如何处理标准外部包(例如 readline、fs、path 等)。

关于node.js - 如何在 webpack 中包含 readline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54676651/

相关文章:

C# - StreamReader.ReadLine 无法正常工作!

javascript - 设置开发环境(node_modules复制)

javascript - Node.js nodemailer - 等待新的 promise 解决错误

Node.js 在使用 --watch 构建 Angular 6 期间崩溃

c - ubuntu 18.04 上的 c 文件中对 "readline"的 undefined reference (已安装 libreadline-dev,与 "-lreadline"链接

java - 如何读取文件中从行号 n 到行号 m 的行?

node.js - DialogFlow 操作 - 谷歌 : Call an Intent from a current Intent

node.js - 迭代 Mongoose 结果来更新值

node.js - 不能将 React.lazy 与 Material UI 图标一起使用

javascript - 使用 Webpack 提取 CSS 时抑制模块输出