@@ -2,6 +2,8 @@ var path = require('path')
22var fs = require ( 'fs' )
33var utils = require ( './utils' )
44var config = require ( '../config' )
5+ var webpack = require ( 'webpack' )
6+ var merge = require ( 'webpack-merge' )
57var vueLoaderConfig = require ( './vue-loader.conf' )
68var MpvuePlugin = require ( 'webpack-mpvue-asset-plugin' )
79var glob = require ( 'glob' )
@@ -26,7 +28,7 @@ const appEntry = { app: resolve('./src/main.js') }
2628const pagesEntry = getEntry ( resolve ( './src' ) , 'pages/**/main.js' )
2729const entry = Object . assign ( { } , appEntry , pagesEntry )
2830
29- module . exports = {
31+ let baseWebpackConfig = {
3032 // 如果要自定义生成的 dist 目录里面的文件路径,
3133 // 可以将 entry 写成 {'toPath': 'fromPath'} 的形式,
3234 // toPath 为相对于 dist 的路径, 例:index/demo,则生成的文件地址为 dist/index/demo.js
@@ -108,6 +110,11 @@ module.exports = {
108110 ]
109111 } ,
110112 plugins : [
113+ // api 统一桥协议方案
114+ new webpack . DefinePlugin ( {
115+ 'mpvue' : 'global.mpvue' ,
116+ 'mpvuePlatform' : 'global.mpvuePlatform'
117+ } ) ,
111118 new MpvuePlugin ( ) ,
112119 new CopyWebpackPlugin ( [ {
113120 from : '**/*.json' ,
@@ -124,3 +131,20 @@ module.exports = {
124131 ] )
125132 ]
126133}
134+
135+ // 针对百度小程序,由于不支持通过 miniprogramRoot 进行自定义构建完的文件的根路径
136+ // 所以需要将项目根路径下面的 project.swan.json 拷贝到 dist/swan 下
137+ // 然后百度开发者工具将 dist/swan 作为项目根目录打开进行调试
138+ if ( process . env . PLATFORM === 'swan ') {
139+ baseWebpackConfig = merge ( baseWebpackConfig , {
140+ plugins : [
141+ new CopyWebpackPlugin ( [ {
142+ from : path . resolve ( __dirname , '../project.swan.json' ) ,
143+ to : path . resolve ( config . build . assetsRoot )
144+ } ] )
145+ ]
146+ } )
147+ }
148+
149+ module . exports = baseWebpackConfig
150+
0 commit comments