切换导航条
切换导航条
当前项目
正在载入...
登录
术习电报
/
electron-vue-template
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
构建
提交
问题看板
文件
提交
网络
比较
分支
标签
作者
张恒
2020-01-09 13:39:11 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
提交
3f3c422d6825f77da891477fe26870d570f0ca47
3f3c422d
1 个父辈
d1ee4a09
更新依赖,添加端口自适应
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
77 行增加
和
85 行删除
.electron-vue/dev-runner.js
README.md
config/index.js
package-lock.json
package.json
src/main/services/windowManager.js
src/renderer/components/LandingPage.vue
src/renderer/views/404.vue
.electron-vue/dev-runner.js
查看文件 @
3f3c422
...
...
@@ -9,6 +9,7 @@ const config = require('../config')
const
webpack
=
require
(
'webpack'
)
const
WebpackDevServer
=
require
(
'webpack-dev-server'
)
const
webpackHotMiddleware
=
require
(
'webpack-hot-middleware'
)
const
Portfinder
=
require
(
"portfinder"
)
const
mainConfig
=
require
(
'./webpack.main.config'
)
const
rendererConfig
=
require
(
'./webpack.renderer.config'
)
...
...
@@ -60,40 +61,50 @@ function removeJunk(chunk) {
}
function
startRenderer
()
{
return
new
Promise
((
resolve
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
rendererConfig
.
mode
=
'development'
const
compiler
=
webpack
(
rendererConfig
)
hotMiddleware
=
webpackHotMiddleware
(
compiler
,
{
log
:
false
,
heartbeat
:
2500
})
compiler
.
hooks
.
compilation
.
tap
(
'compilation'
,
compilation
=>
{
compilation
.
hooks
.
htmlWebpackPluginAfterEmit
.
tapAsync
(
'html-webpack-plugin-after-emit'
,
(
data
,
cb
)
=>
{
hotMiddleware
.
publish
({
action
:
'reload'
})
cb
()
})
})
compiler
.
hooks
.
done
.
tap
(
'done'
,
stats
=>
{
logStats
(
'Renderer'
,
stats
)
})
const
server
=
new
WebpackDevServer
(
compiler
,
{
contentBase
:
path
.
join
(
__dirname
,
'../'
),
quiet
:
true
,
before
(
app
,
ctx
)
{
app
.
use
(
hotMiddleware
)
ctx
.
middleware
.
waitUntilValid
(()
=>
{
resolve
()
Portfinder
.
basePort
=
config
.
dev
.
port
||
9080
Portfinder
.
getPort
((
err
,
port
)
=>
{
if
(
err
)
{
reject
(
"PortError:"
+
err
)
}
else
{
const
compiler
=
webpack
(
rendererConfig
)
hotMiddleware
=
webpackHotMiddleware
(
compiler
,
{
log
:
false
,
heartbeat
:
2500
})
compiler
.
hooks
.
compilation
.
tap
(
'compilation'
,
compilation
=>
{
compilation
.
hooks
.
htmlWebpackPluginAfterEmit
.
tapAsync
(
'html-webpack-plugin-after-emit'
,
(
data
,
cb
)
=>
{
hotMiddleware
.
publish
({
action
:
'reload'
})
cb
()
})
}
})
compiler
.
hooks
.
done
.
tap
(
'done'
,
stats
=>
{
logStats
(
'Renderer'
,
stats
)
})
const
server
=
new
WebpackDevServer
(
compiler
,
{
contentBase
:
path
.
join
(
__dirname
,
'../'
),
quiet
:
true
,
before
(
app
,
ctx
)
{
app
.
use
(
hotMiddleware
)
ctx
.
middleware
.
waitUntilValid
(()
=>
{
resolve
()
})
}
}
)
process
.
env
.
PORT
=
port
server
.
listen
(
port
)
}
)
}
)
server
.
listen
(
9080
)
})
}
...
...
@@ -197,16 +208,15 @@ function greeting() {
console
.
log
(
chalk
.
blue
(
' getting ready...'
)
+
'\n'
)
}
function
init
()
{
async
function
init
()
{
greeting
()
Promise
.
all
([
startRenderer
(),
startMain
()])
.
then
(()
=>
{
startElectron
()
})
.
catch
(
err
=>
{
console
.
error
(
err
)
})
try
{
await
startRenderer
()
await
startMain
()
await
startElectron
()
}
catch
(
error
)
{
console
.
error
(
error
)
}
}
init
()
...
...
README.md
查看文件 @
3f3c422
...
...
@@ -42,6 +42,7 @@ npm config edit
这是花裤衩大大原本的
[
地址
](
https://github.com/PanJiaChen/electron-vue-admin
)
# 更新日志
-
2020年01月09日更新:例行更新依赖,在dev中加入了端口监听检测,如果9080端口被占用就会自动向后开启一个端口号并使用,同时在config/index.js的dev中加入了端口设置,可以快捷设置端口号而不用去更改webpack的配置了。
-
2019年12月18日更新:我在build文件夹内添加了windows的打包依赖,在打包爆错的话,可以尝试使用/build/lib内的压缩包,记得看使用说明哦~
-
2019年11月22日更新:得益于群里老哥的提醒,通过修改系统环境变量得到了通过yarn下载electron失败的问题,具体操作如下:用户环境变量中新增两个个变量,一个是变量名为
`ELECTRON_MIRROR`
,变量值为
`https://npm.taobao.org/mirrors/electron/`
,另一个是变量名为
`registry`
,变量值为
`https://registry.npm.taobao.org/`
,然后系统变量中同样也加上这两个值,完成之后,删除node_module文件夹。然后执行yarn install,如果还是提示未安装,那就去electron文件夹内执行一次yarn install,就好了。这样的话,不仅仅只是yarn更快了,electron的rebuild也会加速很多。所以推荐使用yarn。
(优先尝试)使用npm config edit打开npm配置文件,添加上electron_mirror=https://cdn.npm.taobao.org/dist/electron/ ,然后重启窗口删除node_module文件夹,重新安装依赖即可。
...
...
config/index.js
查看文件 @
3f3c422
...
...
@@ -5,7 +5,8 @@ module.exports = {
},
dev
:
{
env
:
require
(
'./dev.env'
),
removeElectronJunk
:
true
removeElectronJunk
:
true
,
port
:
9080
},
UseStartupChart
:
true
,
IsUseSysTitle
:
true
...
...
package-lock.json
查看文件 @
3f3c422
...
...
@@ -2249,12 +2249,11 @@
"dev"
:
true
},
"axios"
:
{
"version"
:
"0.19.
0
"
,
"resolved"
:
"https://registry.npm.taobao.org/axios/download/axios-0.19.
0
.tgz"
,
"integrity"
:
"sha1-
jgm/89kSLhM/e4EByPvdAO09Krg
="
,
"version"
:
"0.19.
1
"
,
"resolved"
:
"https://registry.npm.taobao.org/axios/download/axios-0.19.
1
.tgz"
,
"integrity"
:
"sha1-
imoE7tI9/nJ0fh3UPGBLjxZ3tao
="
,
"requires"
:
{
"follow-redirects"
:
"1.5.10"
,
"is-buffer"
:
"^2.0.2"
"follow-redirects"
:
"1.5.10"
}
},
"babel-code-frame"
:
{
...
...
@@ -4279,9 +4278,9 @@
}
},
"date-fns"
:
{
"version"
:
"2.
8.1
"
,
"resolved"
:
"https://registry.npm.taobao.org/date-fns/download/date-fns-2.
8.1
.tgz"
,
"integrity"
:
"sha1-
IQk2LMtsh8PKAR6eMfcCvAnkEjs
="
"version"
:
"2.
9.0
"
,
"resolved"
:
"https://registry.npm.taobao.org/date-fns/download/date-fns-2.
9.0
.tgz"
,
"integrity"
:
"sha1-
0LF1pcN+1fF7l+InK7wfpa7Gd9I
="
},
"de-indent"
:
{
"version"
:
"1.0.2"
,
...
...
@@ -4804,9 +4803,9 @@
"dev"
:
true
},
"electron"
:
{
"version"
:
"7.1.
7
"
,
"resolved"
:
"https://registry.npm.taobao.org/electron/download/electron-7.1.
7.tgz?cache=0&sync_timestamp=1576790381475&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron%2Fdownload%2Felectron-7.1.7
.tgz"
,
"integrity"
:
"sha1-
Ug4rxCLj39S64WbdO+YhAfLL3FI
="
,
"version"
:
"7.1.
8
"
,
"resolved"
:
"https://registry.npm.taobao.org/electron/download/electron-7.1.
8
.tgz"
,
"integrity"
:
"sha1-
fNUP30LFXJ3oarEm6YPSP9idXZk
="
,
"dev"
:
true
,
"requires"
:
{
"@electron/get"
:
"^1.0.1"
,
...
...
@@ -7139,9 +7138,9 @@
},
"dependencies"
:
{
"core-js"
:
{
"version"
:
"3.6.
0
"
,
"resolved"
:
"https://registry.npm.taobao.org/core-js/download/core-js-3.6.
0
.tgz"
,
"integrity"
:
"sha1-
K4VORR3hln0eKYlgJc3BOiUY2e
o="
,
"version"
:
"3.6.
2
"
,
"resolved"
:
"https://registry.npm.taobao.org/core-js/download/core-js-3.6.
2.tgz?cache=0&sync_timestamp=1578332366962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-3.6.2
.tgz"
,
"integrity"
:
"sha1-
J5nqGlkFDwrPUN/om5FtZQOxbK
o="
,
"dev"
:
true
,
"optional"
:
true
}
...
...
@@ -7231,15 +7230,13 @@
"dev"
:
true
},
"globalthis"
:
{
"version"
:
"1.0.
0
"
,
"resolved"
:
"https://registry.npm.taobao.org/globalthis/download/globalthis-1.0.
0
.tgz"
,
"integrity"
:
"sha1-
xfuYITqbRZX1nPPnB08UG0Fp2q4
="
,
"version"
:
"1.0.
1
"
,
"resolved"
:
"https://registry.npm.taobao.org/globalthis/download/globalthis-1.0.
1.tgz?cache=0&sync_timestamp=1577757201256&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobalthis%2Fdownload%2Fglobalthis-1.0.1
.tgz"
,
"integrity"
:
"sha1-
QBFvXZwHH56PsAN2VN8as6g7fvk
="
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"define-properties"
:
"^1.1.2"
,
"function-bind"
:
"^1.1.1"
,
"object-keys"
:
"^1.0.12"
"define-properties"
:
"^1.1.3"
}
},
"globby"
:
{
...
...
@@ -8080,11 +8077,6 @@
"binary-extensions"
:
"^1.0.0"
}
},
"is-buffer"
:
{
"version"
:
"2.0.4"
,
"resolved"
:
"https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz"
,
"integrity"
:
"sha1-PlcvI8hBGlz9lVfISeNmXgspBiM="
},
"is-callable"
:
{
"version"
:
"1.1.4"
,
"resolved"
:
"https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz"
,
...
...
package.json
查看文件 @
3f3c422
...
...
@@ -69,8 +69,8 @@
}
},
"dependencies"
:
{
"axios"
:
"^0.19.
0
"
,
"date-fns"
:
"^2.
8.1
"
,
"axios"
:
"^0.19.
1
"
,
"date-fns"
:
"^2.
9.0
"
,
"electron-updater"
:
"^4.2.0"
,
"element-ui"
:
"^2.13.0"
,
"fs-extra"
:
"^8.1.0"
,
...
...
@@ -117,7 +117,7 @@
"cross-env"
:
"^6.0.3"
,
"css-loader"
:
"^3.4.1"
,
"del"
:
"^5.1.0"
,
"electron"
:
"^7.1.
7
"
,
"electron"
:
"^7.1.
8
"
,
"electron-builder"
:
"^21.2.0"
,
"electron-devtools-installer"
:
"^2.2.4"
,
"eslint"
:
"^6.8.0"
,
...
...
@@ -136,6 +136,7 @@
"multispinner"
:
"^0.2.1"
,
"node-loader"
:
"^0.6.0"
,
"node-sass"
:
"^4.13.0"
,
"portfinder"
:
"^1.0.25"
,
"sass-loader"
:
"^8.0.0"
,
"split2"
:
"^3.1.1"
,
"style-loader"
:
"^1.1.2"
,
...
...
src/main/services/windowManager.js
查看文件 @
3f3c422
...
...
@@ -16,8 +16,8 @@ if (process.env.NODE_ENV !== 'development') {
global
.
__static
=
path
.
join
(
__dirname
,
'/static'
).
replace
(
/
\\
/g
,
'\\\\'
)
}
// 将文件地址挪到这里
const
winURL
=
process
.
env
.
NODE_ENV
===
'development'
?
'http://localhost:9080'
:
`file://
${
__dirname
}
/index.html`
const
loadingURL
=
process
.
env
.
NODE_ENV
===
'development'
?
'http://localhost:9080/static/loader.html'
:
`file://
${
__static
}
/loader.html`
const
winURL
=
process
.
env
.
NODE_ENV
===
'development'
?
`http://localhost:
${
process
.
env
.
PORT
}
`
:
`file://
${
__dirname
}
/index.html`
const
loadingURL
=
process
.
env
.
NODE_ENV
===
'development'
?
`http://localhost:
${
process
.
env
.
PORT
}
/static/loader.html`
:
`file://
${
__static
}
/loader.html`
var
loadWindow
=
null
var
mainWindow
=
null
...
...
src/renderer/components/LandingPage.vue
查看文件 @
3f3c422
...
...
@@ -101,7 +101,7 @@ export default {
},
// 清空数据库的数据
deledata() {
// d
ialog为electron实例,data则是显示需要的参数,fun是需要执行的函数,此选项不是为必选的
// d
ata则是显示需要的参数
const data = {
title: "清除数据",
buttons: ["确定了!", "才不要,我手滑了"],
...
...
@@ -130,12 +130,6 @@ export default {
});
}
});
// api.MessageBox(dialog, data, fun).then(res => {});
// const data = {
// title:'发生致命错误',
// message:'?'
// }
// api.ErrorMessageBox(dialog,data)
},
CheckUpdate(data) {
switch (data) {
...
...
@@ -207,7 +201,7 @@ export default {
this.$alert("下载由于未知原因被中断!", "提示", {
confirmButtonText: "重试",
callback: action => {
ipcApi.send("
download-restart
");
ipcApi.send("
satrt-download
");
}
});
}
...
...
src/renderer/views/404.vue
查看文件 @
3f3c422
...
...
@@ -9,8 +9,6 @@
</div>
<div class="bullshit">
<div class="bullshit__oops">OOPS!</div>
<div class="bullshit__info">版权所有<a class="link-type" href="https://wallstreetcn.com" target='_blank'>华尔街见闻</a></div>
<div class="bullshit__headline">{{ message }}</div>
<div class="bullshit__info">请检查您输入的网址是否正确,请点击以下按钮返回主页或者发送错误报告</div>
<a href="/" class="bullshit__return-home">返回首页</a>
</div>
...
...
@@ -28,11 +26,6 @@ export default {
img_404,
img_404_cloud
}
},
computed: {
message() {
return '特朗普说这个页面你不能进......'
}
}
}
</script>
...
...
请
注册
或
登录
后发表评论