1 | 'use strict';
|
2 |
|
3 | exports.babel = {
|
4 | enable: true,
|
5 | test: /\.jsx?$/,
|
6 | exclude: /node_modules/,
|
7 | use() {
|
8 | const loaders = [];
|
9 | const { compile = {} } = this.config;
|
10 | if (compile.thread) {
|
11 | loaders.unshift(this.createThreadLoader(compile.thread));
|
12 | }
|
13 | loaders.push(this.createBabelLoader());
|
14 | return loaders;
|
15 | }
|
16 | };
|
17 |
|
18 | exports.eslint = {
|
19 | enable: false,
|
20 | test: /\.jsx?$/,
|
21 | use: ['eslint-loader'],
|
22 | exclude: /node_modules/,
|
23 | enforce: 'pre'
|
24 | };
|
25 |
|
26 | exports.ts = {
|
27 | enable: false,
|
28 | test: /\.tsx?$/,
|
29 | exclude: /node_modules/,
|
30 | use() {
|
31 | return this.createTsLoader();
|
32 | }
|
33 | };
|
34 |
|
35 | exports.tslint = {
|
36 | enable: false,
|
37 | test: /\.tsx?$/,
|
38 | exclude: /node_modules/,
|
39 | enforce: 'pre',
|
40 | use: ['tslint-loader'],
|
41 | };
|
42 |
|
43 | exports.css = {
|
44 | enable: true,
|
45 | test: /\.css/,
|
46 | use: ['css-loader'],
|
47 | postcss: true,
|
48 | framework: true
|
49 | };
|
50 |
|
51 | exports.scss = {
|
52 | enable: false,
|
53 | test: /\.scss/,
|
54 | use: ['css-loader', 'sass-loader'],
|
55 | postcss: true,
|
56 | framework: true
|
57 | };
|
58 |
|
59 | exports.sass = {
|
60 | enable: false,
|
61 | test: /\.sass/,
|
62 | use: ['css-loader', {
|
63 | loader: 'sass-loader',
|
64 | options: {
|
65 | indentedSyntax: true
|
66 | }
|
67 | }],
|
68 | postcss: true,
|
69 | framework: true
|
70 | };
|
71 |
|
72 | exports.less = {
|
73 | enable: false,
|
74 | test: /\.less/,
|
75 | use: ['css-loader', 'less-loader'],
|
76 | postcss: true,
|
77 | framework: true
|
78 | };
|
79 |
|
80 | exports.stylus = {
|
81 | enable: false,
|
82 | test: /\.stylus/,
|
83 | use: ['css-loader', 'stylus-loader'],
|
84 | postcss: true,
|
85 | framework: true
|
86 | };
|
87 |
|
88 | exports.urlimage = {
|
89 | enable: true,
|
90 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
|
91 | use: [
|
92 | {
|
93 | loader: 'url-loader',
|
94 | options: {
|
95 | limit: 1024
|
96 | },
|
97 | fn(){
|
98 | return {
|
99 | options: {
|
100 | name: this.webpackInfo.imageName
|
101 | }
|
102 | }
|
103 | }
|
104 | }
|
105 | ]
|
106 | };
|
107 |
|
108 | exports.urlmedia = {
|
109 | enable: true,
|
110 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
|
111 | use: [
|
112 | {
|
113 | loader: 'url-loader',
|
114 | options: {
|
115 | limit: 1024
|
116 | },
|
117 | fn(){
|
118 | return {
|
119 | options: {
|
120 | name: this.webpackInfo.mediaName
|
121 | }
|
122 | }
|
123 | }
|
124 | }
|
125 | ]
|
126 | }
|
127 |
|
128 | exports.urlfont = {
|
129 | enable: true,
|
130 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
|
131 | use: [
|
132 | {
|
133 | loader: 'url-loader',
|
134 | options: {
|
135 | limit: 1024
|
136 | },
|
137 | fn(){
|
138 | return {
|
139 | options: {
|
140 | name: this.webpackInfo.frontName
|
141 | }
|
142 | }
|
143 | }
|
144 | }
|
145 | ]
|
146 | };
|
147 |
|
148 | exports.nunjucks = {
|
149 | enable: false,
|
150 | type: 'client',
|
151 | test: /\.html$/,
|
152 | use: ['html-loader', {
|
153 | loader: 'nunjucks-html-loader',
|
154 | options: {
|
155 | searchPaths: ['src/widget','src/component']
|
156 | }
|
157 | }]
|
158 | };
|
159 |
|
160 | exports.ejs = {
|
161 | enable: false,
|
162 | type: 'client',
|
163 | test: /\.ejs/,
|
164 | use: ['ejs-loader']
|
165 | }; |
\ | No newline at end of file |