Как использовать цепочку веб-пакетов для добавления опций appendTsSuffixTo в ts-loader?

Проще говоря, как мне использовать webpack-loader, чтобы добавить следующую опцию в ts-loader плагин:

options: {
  appendTsSuffixTo: [/\.vue$/]
}

В настоящее время у меня есть эта настройка для TS-загрузчик (верхняя часть здесь для контекста). дно config.plugin Звонок - это область, доставляющая мне неприятности.

    chainWebpack: config => {
      config.module
        .rule('typescript')
        .test(/\.tsx?$/)
        .exclude
          .add(/node_modules/)
          .end()
        .use('ts-loader')
          .loader('ts-loader'),

      config
        .plugin('ts-loader')
        .tap( args => { return { appendTsSuffixTo: [/\.vue$/] } }
        )
    }

Но это исключение:

Не удается прочитать свойство __expression неопределенного

Документы webpack-loader не описывают, что именно нужно делать при добавлении опции.

Что мне нужно сделать, чтобы добавить эту опцию?

1 ответ

Решение

Посмотрите в разделе об изменении параметров для загрузчиков:

config.module
  .rule('typescript')
  .use('ts-loader')
    .tap(options => merge(options, {
      appendTsSuffixTo: [/\.vue$/]
    }));

Обновить

Вот соответствующие документы для объединения объектов.

Этот поток GitHub предоставляет хорошие примеры.

// preserve existing options
config.module
  .rule('typescript')
  .use('ts-loader')
    .tap(options => { ...options, {
      appendTsSuffixTo: [/\.vue$/]
    }});
Другие вопросы по тегам