How to include readline in webpack

I have created nodejs console app and trying to minify it with webpack.

webpack.config.js I got:

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'
};

Everything goes ok before I run builded app:

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)

What should I do to prevent this error?

Upvotes: 2

Views: 917

Answers (1)

Somewhere I found the solution. In the webpack configuration file I must set target: node to point the collector what to do with standard external packages (e.g. readline, fs, path, etc.).

Upvotes: 2

Related Questions