Как использовать цепочку веб-пакетов для добавления опций appendTsSuffixTo в ts-loader? - PullRequest
0 голосов
/ 14 января 2019

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

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

В настоящее время у меня есть эта настройка для ts-loader (верхняя часть здесь для контекста). нижний 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 Ответ

0 голосов
/ 14 января 2019

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

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$/]
    }});
...