При выводе модуля AMD из веб-пакета мне нужно изменить имя функции define
, используемой в выходном пакете.
Это потому, что я предоставляю скрипт для библиотеки, которая имеет собственные пространства имен define
функция для Foo.define
.
Учитывая выходную конфигурацию веб-пакета AMD:
module.exports = {
//...
output: {
library: 'MyLibrary',
libraryTarget: 'amd'
}
};
Вместо вывода:
define('MyLibrary', [], function() {
return _entry_return_;
});
Веб-пакет выведет что-то вроде:
Foo.define('MyLibrary', [], function() {
return _entry_return_;
});
После 2 часов поиска в Google я все еще не могу найти правильную конфигурацию для веб-пакета или соответствующего плагина, поэтому я спрашиваю здесь.
Благодарим за помощь!
РЕДАКТИРОВАТЬ:
В конце концов это то, что сработало благодаря ответу ниже:
plugins: [].concat(plugins, [
new ReplaceInFileWebpackPlugin([
{
dir: path.resolve(__dirname, 'public/questions-flow-chart'),
test: [/bundle\.js$/],
rules: [
{
search: /^define/,
replace: 'Foo.define'
}
]
}
])
])