Webpack configuration, module.rules: { test: /\.ts$/, include: projectRoot, exclude: /node_modules/, use: [ { loader: ‘ts-loader’, options: { appendTsSuffixTo: [/\.vue$/], }, }, ], }, { test: /\.tsx$/, include: projectRoot, exclude: /node_modules/, use: [ _.babelLoader, { loader: ‘ts-loader’, options: { appendTsSuffixTo: [/\.vue$/], }, }, ], }, Intellij Idea language injection for typescript block: Example: <template> <keep-alive> <router-view></router-view> […]