another_dream
@another_dream
Backend-разработчик, Laravel/ZF2/Yii2

Как заставить webpack инициализировать библиотеку без dash-символа в имени?

Юзается модуль webpack-glob-entries, который позволяет инициализировать entry по шаблону:
module.exports = {
    entry: globEntries('./src/entries/*.js'),
    ...
    output: {
        path: path.resolve(__dirname, './builded'),
        publicPath: '/builded/',
        filename: '[name].js',
        library: '[name]'
    },
}

Как видите, output генерируется по имени файла и это важно. Если скрипт имеет имя, содержащее "тире", например, user-profile.js, то и library у меня получается var user-profile, что, соответственно, не приемлемо.
Есть ли возможно как-то перегнать lbrary имя в camelCase или в любой другой поддерживаемый JS формат?
Пока что один вариант - использовать другой формат именования файлов, тот же camelCase или snake_case, но, согласитесь, user-profile.js выглядит лучше чем userProfile.js или же user_profile.js

Спасибо.

UPD:
Можно, конечно, реализовать свой вариант модуля webpack-glob-entries где в качестве индекса будет выступать приведённый к camelCase модуль, но это на крайний случай. Может быть есть какие-то инструменты из коробки?
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
fnnzzz
@fnnzzz
front-end dev
по-идее вам должно помочь это - https://github.com/skozin/webpack-path-rewriter
нужно просто переопределить test: /\.js$/ через PathRewriterPlugin.rewriteAndEmit()
смотрите примеры и доку плагина.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы