roovwhite
@roovwhite

Как получить результат работы лоадера webpack?

Использую preprocess-loader для получения из файлов путей к другим файлам (//@include somefolder/main.js). В ['./chat'] содержится инклюд к другим файлам, те содержат такие же инклюды.
Но есть необходимость, чтобы webpack watch отслеживал изменения во всех файлах. В текущей реализации это не работает.
Подскажите, пожалуйста, как можно получить результат работы лоадера в виде map или массива, чтобы использовать данные в entry?

module.exports = {
    context: path.resolve(__dirname),
    entry: {
        chat: ['./chat']
    },

    output: {
        path: path.resolve(__dirname),
        filename: "[name].js"
    },

    watch: true,

    module: {
        loaders: [{
            test: /\.js$/,
            loader: 'preprocess'
        }]
    }
}
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 2
@medin84
software developer
Комментировать
qtuz
@qtuz
Для того чтобы Webpack отслеживал изменения во всех файлах, надо чтобы лоадер сообщил ему какие зависимости имеет текущий обрабатываемый файл. Делается это через вызов this.addDependency(absolute_path_to_file). Если лоадер не делает это, то получение результата работы лоадера вам не поможет. Вы можете написать свой лоадер, который будет парсить исходник регуляркой и добавлять все файлы в зависимость. Если поставить этот лоадер перед вызовом preprocess-loader то изменения будут отслеживаться во всех файлах.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы