1
1
// tslint:disable:no-var-requires
2
2
const HtmlWebpackPlugin = require ( 'html-webpack-plugin' ) ;
3
3
const MiniCssExtractPlugin = require ( 'mini-css-extract-plugin' ) ;
4
+ const path = require ( 'path' ) ;
4
5
5
6
exports . createWebpackConfig = function ( dir ) {
6
7
return {
@@ -10,10 +11,10 @@ exports.createWebpackConfig = function(dir) {
10
11
path : dir + '/dist' ,
11
12
} ,
12
13
resolve : {
13
- extensions : [ '.ts' , '.tsx' , '.js' , '.json' ] ,
14
+ extensions : [ '.ts' , '.tsx' , '.js' , '.json' , '.less' ] ,
14
15
} ,
15
16
mode : 'development' ,
16
- devtool : 'eval ' ,
17
+ devtool : 'sourcemap ' ,
17
18
module : {
18
19
rules : [
19
20
{
@@ -28,8 +29,33 @@ exports.createWebpackConfig = function(dir) {
28
29
test : / \. c s s $ / ,
29
30
use : [ MiniCssExtractPlugin . loader , 'css-loader' ] ,
30
31
} ,
32
+ {
33
+ test : / \. l e s s $ / ,
34
+ use : [
35
+ {
36
+ loader : "style-loader"
37
+ } ,
38
+ {
39
+ loader : "css-loader" ,
40
+ options : {
41
+ sourceMap : true ,
42
+ modules : true ,
43
+ localIdentName : "[local]___[hash:base64:5]"
44
+ }
45
+ } ,
46
+ {
47
+ loader : "less-loader"
48
+ }
49
+ ]
50
+ }
31
51
] ,
32
52
} ,
53
+ resolveLoader : {
54
+ modules : [ path . join ( __dirname , '../node_modules' ) , path . resolve ( 'node_modules' ) ] ,
55
+ extensions : [ '.ts' , '.tsx' , '.js' , '.json' , '.less' ] ,
56
+ mainFields : [ 'loader' , 'main' ] ,
57
+ moduleExtensions : [ '-loader' ] ,
58
+ } ,
33
59
plugins : [
34
60
new HtmlWebpackPlugin ( {
35
61
template : __dirname + '/index.html' ,
0 commit comments