PR github. , .
, SFC <script lang="ts">, <script lang="tsx">, *.ts utils *.tsx .
ts-loader *.ts *.tsx ( , ). , ts-loader : appendTsSuffixTo appendTsxSuffixTo. , . ( ts-loader *.vue, vue-loader ).
, *.ts.vue <script lang="ts"> SFC vue, *.tsx.vue <script lang="tsx"> SFC vue. ts-loader :
{
test: /\.tsx?$/,
use: [
{
loader: 'babel-loader'
},
{
loader: 'ts-loader',
options: {
appendTsSuffixTo: [/\.ts\.vue$/],
appendTsxSuffixTo: [/\.tsx\.vue$/]
}
}
],
exclude: /node_modules/
},
, *.ts *.tsx ts-loader, babel-loader . , .ts.vue, .ts *.ts.vue.ts, .tsx.vue *.tsx.vue.tsx. vue-loader. , ts-loader .ts .tsx.
vue-loader , <script lang="xxx"> vue-loader append xxx-loader , <script lang="tsx"> vue-loader tsx-loader, .
, vue-loader options:
const loaders = {}
loaders.tsx = ['babel-loader', 'ts-loader']
loaders.ts = loaders.tsx
{
test: /\.vue$/,
loader: 'vue-loader',
options: { loaders }
},
webpack . tsx JSX .d.ts
github .
!