Skip to content

Commit bfd38b5

Browse files
adding tsx support
1 parent 52ceed1 commit bfd38b5

File tree

1 file changed

+24
-14
lines changed

1 file changed

+24
-14
lines changed

webpack.config.js

+24-14
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,19 @@ module.exports = {
1414
rules: [
1515
{
1616
test: /\.vue$/,
17+
exclude: /node_modules/,
1718
loader: 'vue-loader',
1819
options: {
19-
20+
2021
loaders: {
21-
// Since sass-loader (weirdly) has SCSS as its default parse mode, we map
22-
// the "scss" and "sass" values for the lang attribute to the right configs here.
23-
// other preprocessors should work out of the box, no loader config like this necessary.
2422
'scss': 'vue-style-loader!css-loader!sass-loader',
2523
'sass': 'vue-style-loader!css-loader!sass-loader?indentedSyntax',
2624
}
27-
// other vue-loader options go here
2825
}
2926
},
3027
{
3128
test: /\.(png|jpg|gif|svg)$/,
29+
exclude: /node_modules/,
3230
loader: 'url-loader',
3331
options: {
3432
name: '[name].[ext]?[hash]'
@@ -37,25 +35,37 @@ module.exports = {
3735
{
3836
test: /\.scss$/,
3937
use: [{
40-
loader: "style-loader" // creates style nodes from JS strings
38+
loader: "style-loader"
4139
}, {
42-
loader: "css-loader" // translates CSS into CommonJS
40+
loader: "css-loader"
4341
}, {
44-
loader: "sass-loader" // compiles Sass to CSS
42+
loader: "sass-loader"
4543
}]
4644
},
4745
{
48-
test: /\.tsx?$/,
49-
loader: 'ts-loader',
46+
test: /\.js$/,
5047
exclude: /node_modules/,
51-
options: {
52-
appendTsSuffixTo: [/\.vue$/],
53-
}
48+
loader: 'babel-loader'
49+
},
50+
{
51+
test: /\.ts(x?)$/,
52+
exclude: /node_modules/,
53+
use: [
54+
{
55+
loader: 'babel-loader'
56+
},
57+
{
58+
loader: 'ts-loader',
59+
options: {
60+
appendTsSuffixTo: [/\.vue$/]
61+
}
62+
}
63+
]
5464
}
5565
]
5666
},
5767
resolve: {
58-
extensions: ['.ts', '.js', '.vue', '.json'],
68+
extensions: ['.ts', '.tsx', '.js', '.vue', '.json'],
5969
alias: {
6070
'vue$': 'vue/dist/vue.esm.js'
6171
}

0 commit comments

Comments
 (0)