File tree 4 files changed +46
-2
lines changed
4 files changed +46
-2
lines changed Original file line number Diff line number Diff line change 1
1
module . exports = api => {
2
+ const cacheDirectory = api . resolve ( 'node_modules/.cache/cache-loader' )
3
+
2
4
api . chainWebpack ( webpackConfig => {
3
5
webpackConfig . module
4
6
. rule ( 'js' )
@@ -7,7 +9,26 @@ module.exports = api => {
7
9
. add ( api . resolve ( 'src' ) )
8
10
. add ( api . resolve ( 'test' ) )
9
11
. end ( )
12
+ . use ( 'cache-loader' )
13
+ . loader ( require . resolve ( 'cache-loader' ) )
14
+ . options ( { cacheDirectory } )
15
+ . end ( )
10
16
. use ( 'babel-loader' )
11
17
. loader ( require . resolve ( 'babel-loader' ) )
18
+
19
+ webpackConfig . module
20
+ . rule ( 'vue' )
21
+ . use ( 'vue-loader' )
22
+ . tap ( options => {
23
+ options . loaders = options . loaders || { }
24
+ options . loaders . js = [
25
+ {
26
+ loader : 'cache-loader' ,
27
+ options : { cacheDirectory }
28
+ } ,
29
+ 'babel-loader'
30
+ ]
31
+ return options
32
+ } )
12
33
} )
13
34
}
Original file line number Diff line number Diff line change 20
20
"homepage" : " https://github.com/vuejs/vue-cli/packages/@vue/cli-plugin-babel#readme" ,
21
21
"dependencies" : {
22
22
"@babel/core" : " ^7.0.0-0" ,
23
- "babel-loader" : " ^7.1.2"
23
+ "babel-loader" : " ^7.1.2" ,
24
+ "cache-loader" : " ^1.2.0"
24
25
},
25
26
"publishConfig" : {
26
27
"access" : " public"
Original file line number Diff line number Diff line change @@ -150,7 +150,20 @@ module.exports = (api, options) => {
150
150
ignore : [ 'index.html' , '.*' ]
151
151
} ] ] )
152
152
153
- // TODO investigate happypack/cache-loader/DLL plugin options
153
+ // TODO parallelazation
154
+ // thread-loader doesn't seem to have obvious effect because vue-loader
155
+ // offloads most of the work to other loaders. We may need to re-think
156
+ // vue-loader implementation in order to better take advantage of
157
+ // parallelazation
158
+
159
+ // webpackConfig.module
160
+ // .rule('vue')
161
+ // .use('thread-loader')
162
+ // .before('vue-loader')
163
+ // .loader('thread-loader')
164
+ // .options({ name: 'vue' })
165
+
166
+ // TODO DLL
154
167
}
155
168
} )
156
169
}
Original file line number Diff line number Diff line change @@ -1590,6 +1590,15 @@ cache-base@^1.0.1:
1590
1590
union-value "^1.0.0"
1591
1591
unset-value "^1.0.0"
1592
1592
1593
+ cache-loader@^1.2.0 :
1594
+ version "1.2.0"
1595
+ resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-1.2.0.tgz#cdc313ae53b3c13ce8ee0c9296cf16c736b15252"
1596
+ dependencies :
1597
+ async "^2.4.1"
1598
+ loader-utils "^1.1.0"
1599
+ mkdirp "^0.5.1"
1600
+ schema-utils "^0.4.2"
1601
+
1593
1602
caller-path@^0.1.0 :
1594
1603
version "0.1.0"
1595
1604
resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
You can’t perform that action at this time.
0 commit comments