在node版本為12.x.x的時候運(yùn)行electron-vue,會導(dǎo)致報錯,報錯如下:

image.png
Html WebpackPlugin:
ReferenceError: process is not defined
在翻閱無數(shù)簡書和CSDN發(fā)現(xiàn)答案都是一樣的,且是一樣的無效!
最后再GitHub的issue中發(fā)現(xiàn)正解?。?!答案很簡單
這里是issue鏈接,自己可以找找看
先修改 .electron-vue/webpack.web.config.js文件
// webpack.web.config.js
new HtmlWebpackPlugin({
filename: 'index.html',
template: path.resolve(__dirname, '../src/index.ejs'),
minify: {
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true
},
isBrowser: false,
isDevelopment: process.env.NODE_ENV !== 'production',
nodeModules: process.env.NODE_ENV !== 'production'
? path.resolve(__dirname, '../node_modules')
: false
}),
在src/index.ejs中修改為如下:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<% if (htmlWebpackPlugin.options.nodeModules) { %>
<!-- Add `node_modules/` to global paths so `require` works properly in development -->
<script>
require('module').globalPaths.push('<%= htmlWebpackPlugin.options.nodeModules.replace(/\\/g, '\\\\') %>')
</script>
<% } %>
</head>
<body>
<div id="app">
</div>
<!-- Set `__static` path to static files in production -->
<% if (!htmlWebpackPlugin.options.isBrowser && !htmlWebpackPlugin.options.isDevelopment) { %>
<script>
window.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\')
</script>
<% } %>
<!-- webpack builds are automatically injected -->
</body>
</html>
親測有效!