Экспортировать одну из точек входа Webpack в качестве библиотеки

У меня есть конфигурация Webpack для transpiled app:

entry: {
    'polyfill': './app/polyfill.js',
    'lib': './app/lib.js',
    'main': './app/main.js'
},
output: {
    path: './bundles',
    filename: '[name].js',
    sourceMapFilename: '[name].map'
},
...

Я хотел бы иметь polyfill и main для загрузки из тега <script> в браузере и lib для экспорта в качестве библиотеки CommonJS.

lib используется Node backend, но содержит некоторые из модулей app, поэтому он построен вместе с другими точками входа). Приложение переводится, поэтому в Node не возможно использовать только require модули от ./app.

Каковы варианты здесь? Является ли использование отдельных конфигураций Webpack, а отдельный Webpack работает только один?

Ответ 1

Я бы сказал, что лучше отделить конфигурацию lib от app webpack. Поскольку lib может использоваться обоими модулями (front-end и backend), это может быть библиотека, которая может использоваться на обоих концах.

Чтобы создать библиотеку с помощью webpack, вы можете использовать ее ниже,

 entry: { lib: './app/lib' },
 output: {
    path: __dirname + '/lib', // path to output
    filename: outputFile, // library file name
    library: libraryName, // library name
    libraryTarget: 'umd', // the umd format
    umdNamedDefine: true // setting this to true will name the AMD module
  },

Здесь подробно обсуждается здесь.