如何使用 webpack-chain 将 appendTsSuffixTo 选项添加到 ts-loader?
How to use webpack-chain to add appendTsSuffixTo options to ts-loader?
简单地说,我如何使用 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$/]
}}));
简单地说,我如何使用 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$/]
}}));