因此,我使用 Webpack 设置了一个 Vue 项目,然后安装了正确的加载器并移至 SFC 内的 TypeScript。一切运行良好,只是在构建时捕获的 TS 错误会相应地显示在编译文件中,从而使调试变得困难。
我的 Webpack 配置如下所示:
// ...
module.exports = {
// ...
module: {
rules: [
{
test: /\.vue$/,
use: 'vue-loader',
},
{
test: /\.tsx?$/,
loader: 'ts-loader',
options: {
appendTsSuffixTo: [/\.vue$/]
}
},
{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader',
'postcss-loader'
]
},
{
test: /\.png$/,
use: 'file-loader'
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
因此,.vue 文件在构建期间由 ts-loader 进行转换,最终我在 Webpack 输出中收到如下错误:
ERROR in /home/mega/savitri/packages/frontend/src/components/molecules/CSearch/CSearch.vue.ts
52:29-59
[tsl] ERROR in /home/mega/savitri/packages/frontend/src/components/molecules/CSearch/CSearch.vue.ts(52,30)
TS2571: Object is of type 'unknown'. …Run Code Online (Sandbox Code Playgroud)