javascript - 如何使用 webpack-chain 将 appendTsSuffixTo 选项添加到 ts-loader?

标签 javascript typescript vue.js webpack webpack-chain

简单地说,我如何使用 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$/] } }
        )
    }

但这会引发异常:

Cannot read property '__expression' of undefined

webpack-loader docs没有准确描述添加选项时应该做什么。

我需要做什么才能添加此选项?

最佳答案

查看有关 modifying options 的部分对于装载机:

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

更新

这是 merging 的相关文档对象。

GitHub线程提供了很好的例子。

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

关于javascript - 如何使用 webpack-chain 将 appendTsSuffixTo 选项添加到 ts-loader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54176364/

相关文章:

javascript - $ 未在 javascript 中定义 ajax 请求

angular2单元测试: cannot read property of componentInstance.方法()未定义

node.js - VueJS : Use directive in component with vue-loader

css - 验证输入的最佳方式是什么(Skeleton + Vue.js)?

javascript - 如果不支持浏览器,则显示错误消息

javascript - 在 ajax 调用后重新初始化 dom 事件

javascript - 在没有 jQuery 的情况下将输入值暴露给工具提示

javascript - 如何使用 jQuery 过滤特定大小的图像?

javascript - ActivatedRoute 在 angular2 中设置为未定义

javascript - 将 RXJS 可观察结果合并为一个