Экспортировать одну из точек входа 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
},
Здесь подробно обсуждается здесь.