umbrella22

修复build:web命令打包出来的页面空白的问题

1 'use strict' 1 'use strict'
2 - 2 +const IsWeb = process.env.BUILD_TARGET === 'web'
3 -process.env.BABEL_ENV = 'renderer' 3 +process.env.BABEL_ENV = IsWeb ? 'web' : 'renderer'
4 4
5 const path = require('path') 5 const path = require('path')
6 const { dependencies } = require('../package.json') 6 const { dependencies } = require('../package.json')
7 const webpack = require('webpack') 7 const webpack = require('webpack')
8 const config = require('../config') 8 const config = require('../config')
9 -const IsWeb = process.env.ENV_TARGET === 'web'
10 9
11 const CopyWebpackPlugin = require('copy-webpack-plugin') 10 const CopyWebpackPlugin = require('copy-webpack-plugin')
12 const MiniCssExtractPlugin = require('mini-css-extract-plugin') 11 const MiniCssExtractPlugin = require('mini-css-extract-plugin')
...@@ -24,28 +23,14 @@ function resolve(dir) { ...@@ -24,28 +23,14 @@ function resolve(dir) {
24 * https://simulatedgreg.gitbooks.io/electron-vue/content/en/webpack-configurations.html#white-listing-externals 23 * https://simulatedgreg.gitbooks.io/electron-vue/content/en/webpack-configurations.html#white-listing-externals
25 */ 24 */
26 let whiteListedModules = IsWeb ? [] : ['vue', "element-ui"] 25 let whiteListedModules = IsWeb ? [] : ['vue', "element-ui"]
26 +IsWeb ? process.browser = true : process.browser = false
27 27
28 let rendererConfig = { 28 let rendererConfig = {
29 devtool: '#cheap-module-eval-source-map', 29 devtool: '#cheap-module-eval-source-map',
30 - entry: { 30 + entry: IsWeb ? { web: path.join(__dirname, '../src/renderer/main.js') } : { renderer: resolve('src/renderer/main.js') },
31 - renderer: resolve('src/renderer/main.js') 31 + externals: IsWeb ? [] : [...Object.keys(dependencies || {}).filter(d => !whiteListedModules.includes(d))],
32 - },
33 - externals: [
34 - ...Object.keys(dependencies || {}).filter(d => !whiteListedModules.includes(d))
35 - ],
36 module: { 32 module: {
37 rules: [ 33 rules: [
38 - // {
39 - // test: /\.(js|vue)$/,
40 - // enforce: 'pre',
41 - // exclude: /node_modules/,
42 - // use: {
43 - // loader: 'eslint-loader',
44 - // options: {
45 - // formatter: require('eslint-friendly-formatter')
46 - // }
47 - // }
48 - // },
49 { 34 {
50 test: /\.scss$/, 35 test: /\.scss$/,
51 use: ['vue-style-loader', 36 use: ['vue-style-loader',
...@@ -206,8 +191,10 @@ let rendererConfig = { ...@@ -206,8 +191,10 @@ let rendererConfig = {
206 }, 191 },
207 extensions: ['.js', '.vue', '.json', '.css', '.node'] 192 extensions: ['.js', '.vue', '.json', '.css', '.node']
208 }, 193 },
209 - target: 'electron-renderer' 194 + target: IsWeb ? 'web' : 'electron-renderer'
210 } 195 }
196 +// 根据环境调整入口位置
197 +
211 198
212 /** 199 /**
213 * Adjust rendererConfig for development settings 200 * Adjust rendererConfig for development settings
......