@@ -5,38 +5,22 @@ var config = require('../config')
5
5
var vueLoaderConfig = require ( './vue-loader.conf' )
6
6
var MpvuePlugin = require ( 'webpack-mpvue-asset-plugin' )
7
7
var glob = require ( 'glob' )
8
- var CopyWebpackPlugin = require ( 'copy-webpack-plugin' )
9
- var configFilesArray = [ ]
10
- var relative = require ( 'relative' )
11
8
12
- function resolve ( dir ) {
9
+ function resolve ( dir ) {
13
10
return path . join ( __dirname , '..' , dir )
14
11
}
15
12
16
- function getEntry ( rootSrc ) {
17
- var map = { } ;
18
- glob . sync ( rootSrc + '/pages/**/main.js' )
19
- . forEach ( file => {
20
- var key = relative ( rootSrc , file ) . replace ( '.js' , '' ) ;
21
- map [ key ] = file ;
22
- } )
23
- glob . sync ( rootSrc + '/pages/**/main.json' )
24
- . forEach ( file => {
25
- configFilesArray . push ( {
26
- from : file ,
27
- to : relative ( rootSrc , file )
28
- } )
29
- } )
30
- return map ;
13
+ function getEntry ( rootSrc , pattern ) {
14
+ var files = glob . sync ( path . resolve ( rootSrc , pattern ) )
15
+ return files . reduce ( ( res , file ) => {
16
+ var info = path . parse ( file )
17
+ var key = info . dir . slice ( rootSrc . length + 1 ) + '/' + info . name
18
+ res [ key ] = path . resolve ( file )
19
+ return res
20
+ } , { } )
31
21
}
32
22
33
- const appEntry = {
34
- app : resolve ( './src/main.js' )
35
- }
36
- configFilesArray . push ( {
37
- from : resolve ( './src/main.json' ) ,
38
- to : 'app.json'
39
- } )
23
+ const appEntry = { app : resolve ( './src/main.js' ) }
40
24
const pagesEntry = getEntry ( resolve ( './src' ) , 'pages/**/main.js' )
41
25
const entry = Object . assign ( { } , appEntry , pagesEntry )
42
26
@@ -49,8 +33,9 @@ module.exports = {
49
33
output : {
50
34
path : config . build . assetsRoot ,
51
35
filename : '[name].js' ,
52
- publicPath : process . env . NODE_ENV === 'production' ?
53
- config . build . assetsPublicPath : config . dev . assetsPublicPath
36
+ publicPath : process . env . NODE_ENV === 'production'
37
+ ? config . build . assetsPublicPath
38
+ : config . dev . assetsPublicPath
54
39
} ,
55
40
resolve : {
56
41
extensions : [ '.js' , '.vue' , '.json' ] ,
@@ -63,7 +48,8 @@ module.exports = {
63
48
mainFields : [ 'browser' , 'module' , 'main' ]
64
49
} ,
65
50
module : {
66
- rules : [ {
51
+ rules : [
52
+ {
67
53
test : / \. v u e $ / ,
68
54
loader : 'mpvue-loader' ,
69
55
options : vueLoaderConfig
@@ -94,7 +80,7 @@ module.exports = {
94
80
loader : 'url-loader' ,
95
81
options : {
96
82
limit : 10000 ,
97
- name : utils . assetsPath ( 'media/[name].[ext]' )
83
+ name : utils . assetsPath ( 'media/[name]] .[ext]' )
98
84
}
99
85
} ,
100
86
{
@@ -108,12 +94,6 @@ module.exports = {
108
94
]
109
95
} ,
110
96
plugins : [
111
- new MpvuePlugin ( ) ,
112
- new CopyWebpackPlugin ( configFilesArray ) ,
113
- new CopyWebpackPlugin ( [ {
114
- from : path . resolve ( __dirname , '../static' ) ,
115
- to : path . resolve ( __dirname , '../dist/static' ) ,
116
- ignore : [ '.*' ]
117
- } ] )
97
+ new MpvuePlugin ( )
118
98
]
119
99
}
0 commit comments