@@ -3,30 +3,32 @@ var fs = require('fs')
33var utils = require ( './utils' )
44var config = require ( '../config' )
55var vueLoaderConfig = require ( './vue-loader.conf' )
6+ var MpvuePlugin = require ( 'webpack-mpvue-asset-plugin' )
7+ var glob = require ( 'glob' )
68
79function resolve ( dir ) {
810 return path . join ( __dirname , '..' , dir )
911}
1012
11- function getEntry ( dir , entryFile ) {
12- const files = fs . readdirSync ( dir )
13- return files . reduce ( ( res , k ) => {
14- const page = path . resolve ( dir , k , entryFile )
15- if ( fs . existsSync ( page ) ) {
16- res [ k ] = page
17- }
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 )
1819 return res
1920 } , { } )
2021}
2122
2223const appEntry = { app : resolve ( './src/main.js' ) }
23- const pagesEntry = getEntry ( resolve ( './src/pages ' ) , 'main.js' )
24+ const pagesEntry = getEntry ( resolve ( './src' ) , 'pages/**/ main.js' )
2425const entry = Object . assign ( { } , appEntry , pagesEntry )
2526
2627module . exports = {
27- entry : entry , // 如果要自定义生成的 dist 目录里面的文件路径,
28- // 可以将 entry 写成 {'toPath': 'fromPath'} 的形式,
29- // toPath 为相对于 dist 的路径, 例:index/demo,则生成的文件地址为 dist/index/demo.js
28+ // 如果要自定义生成的 dist 目录里面的文件路径,
29+ // 可以将 entry 写成 {'toPath': 'fromPath'} 的形式,
30+ // toPath 为相对于 dist 的路径, 例:index/demo,则生成的文件地址为 dist/index/demo.js
31+ entry ,
3032 target : require ( 'mpvue-webpack-target' ) ,
3133 output : {
3234 path : config . build . assetsRoot ,
@@ -102,5 +104,8 @@ module.exports = {
102104 }
103105 }
104106 ]
105- }
107+ } ,
108+ plugins : [
109+ new MpvuePlugin ( )
110+ ]
106111}
0 commit comments