umbrella22

升级依赖,添加性能监控,修改渲染进程打包时压缩配置

......@@ -13,7 +13,6 @@ const CopyWebpackPlugin = require('copy-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const TerserPlugin = require('terser-webpack-plugin');
const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
const { VueLoaderPlugin } = require('vue-loader')
const HappyPack = require('happypack')
const HappyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length })
......@@ -82,9 +81,11 @@ let rendererConfig = {
},
{
test: /\.vue$/,
use: {
use: [ {
loader: 'vue-loader',
options: {
cacheDirectory: 'node_modules/.cache/vue-loader',
cacheIdentifier: '7270960a',
extractCSS: process.env.NODE_ENV === 'production',
loaders: {
sass: 'vue-style-loader!css-loader!sass-loader?indentedSyntax=1',
......@@ -92,7 +93,7 @@ let rendererConfig = {
less: 'vue-style-loader!css-loader!less-loader'
}
}
}
}]
},
{
test: /\.svg$/,
......@@ -172,7 +173,6 @@ let rendererConfig = {
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
new HardSourceWebpackPlugin(),
new HappyPack({
id: 'HappyRendererBabel',
loaders: [{
......@@ -243,6 +243,14 @@ if (process.env.NODE_ENV === 'production') {
terserOptions: {
warnings: false,
compress: {
hoist_funs: false,
hoist_props: false,
hoist_vars: false,
inline: false,
loops: false,
dead_code: true,
booleans: true,
if_return: true,
warnings: false,
drop_console: true,
drop_debugger: true,
......
......@@ -32,7 +32,7 @@
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586826576236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
"dev": true
}
......@@ -202,7 +202,7 @@
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586826576236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
"dev": true
}
......@@ -292,7 +292,7 @@
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586826576236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
"dev": true
}
......@@ -2939,7 +2939,7 @@
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586826576236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
"dev": true
}
......@@ -3182,7 +3182,7 @@
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586826576236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
"dev": true
}
......@@ -3216,7 +3216,7 @@
"dependencies": {
"make-dir": {
"version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567576732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz",
"resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1581538804263&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz",
"integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
"dev": true,
"requires": {
......@@ -3232,7 +3232,7 @@
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586826576236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
"dev": true
}
......@@ -3398,9 +3398,26 @@
"fastq": "^1.6.0"
}
},
"@npmcli/move-file": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/@npmcli/move-file/download/@npmcli/move-file-1.0.1.tgz",
"integrity": "sha1-3hAwcNrA9IzknPZpPCOvWcD3BGQ=",
"dev": true,
"requires": {
"mkdirp": "^1.0.4"
},
"dependencies": {
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz",
"integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=",
"dev": true
}
}
},
"@sindresorhus/is": {
"version": "0.14.0",
"resolved": "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz",
"resolved": "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz?cache=0&sync_timestamp=1581924347665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40sindresorhus%2Fis%2Fdownload%2F%40sindresorhus%2Fis-0.14.0.tgz",
"integrity": "sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o=",
"dev": true
},
......@@ -3421,7 +3438,7 @@
},
"@types/debug": {
"version": "4.1.5",
"resolved": "https://registry.npm.taobao.org/@types/debug/download/@types/debug-4.1.5.tgz?cache=0&sync_timestamp=1588199984509&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fdebug%2Fdownload%2F%40types%2Fdebug-4.1.5.tgz",
"resolved": "https://registry.npm.taobao.org/@types/debug/download/@types/debug-4.1.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fdebug%2Fdownload%2F%40types%2Fdebug-4.1.5.tgz",
"integrity": "sha1-sU76iFK3do2JiQZhPCP2iHE+As0=",
"dev": true
},
......@@ -3487,7 +3504,7 @@
},
"@types/yargs-parser": {
"version": "15.0.0",
"resolved": "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz?cache=0&sync_timestamp=1588203262235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-15.0.0.tgz",
"resolved": "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz?cache=0&sync_timestamp=1580844965117&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-15.0.0.tgz",
"integrity": "sha1-yz+fdBhp4gzOMw/765JxWQSDiC0=",
"dev": true
},
......@@ -5212,7 +5229,7 @@
},
"browserslist": {
"version": "4.12.0",
"resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.12.0.tgz?cache=0&sync_timestamp=1587420092605&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.12.0.tgz",
"resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.12.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.12.0.tgz",
"integrity": "sha1-BsbVcVoe3mxR/Dn/Z/1kf3QLZW0=",
"dev": true,
"requires": {
......@@ -5251,6 +5268,12 @@
"integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=",
"dev": true
},
"buffer-json": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz",
"integrity": "sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM=",
"dev": true
},
"buffer-xor": {
"version": "1.0.3",
"resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
......@@ -5407,6 +5430,106 @@
"unset-value": "^1.0.0"
}
},
"cache-loader": {
"version": "4.1.0",
"resolved": "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz",
"integrity": "sha1-mUjK41OuwKH8ser9ojAIFuyFOH4=",
"dev": true,
"requires": {
"buffer-json": "^2.0.0",
"find-cache-dir": "^3.0.0",
"loader-utils": "^1.2.3",
"mkdirp": "^0.5.1",
"neo-async": "^2.6.1",
"schema-utils": "^2.0.0"
},
"dependencies": {
"find-cache-dir": {
"version": "3.3.1",
"resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz",
"integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=",
"dev": true,
"requires": {
"commondir": "^1.0.1",
"make-dir": "^3.0.2",
"pkg-dir": "^4.1.0"
}
},
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz",
"integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
"dev": true,
"requires": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz",
"integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
}
},
"make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567576732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz",
"integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=",
"dev": true,
"requires": {
"semver": "^6.0.0"
}
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz",
"integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz",
"integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
}
},
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
"integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=",
"dev": true
},
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz",
"integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=",
"dev": true
},
"pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz",
"integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=",
"dev": true,
"requires": {
"find-up": "^4.0.0"
}
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
}
}
},
"cacheable-request": {
"version": "6.1.0",
"resolved": "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-6.1.0.tgz",
......@@ -6020,7 +6143,7 @@
},
"configstore": {
"version": "5.0.1",
"resolved": "https://registry.npm.taobao.org/configstore/download/configstore-5.0.1.tgz?cache=0&sync_timestamp=1581616252924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconfigstore%2Fdownload%2Fconfigstore-5.0.1.tgz",
"resolved": "https://registry.npm.taobao.org/configstore/download/configstore-5.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconfigstore%2Fdownload%2Fconfigstore-5.0.1.tgz",
"integrity": "sha1-02UCG130uYzdGH1qOw4/anzF7ZY=",
"dev": true,
"requires": {
......@@ -6049,7 +6172,7 @@
},
"make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567576732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz",
"resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567572251&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz",
"integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=",
"dev": true,
"requires": {
......@@ -6058,7 +6181,7 @@
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586534511518&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
},
......@@ -6242,7 +6365,7 @@
"dependencies": {
"semver": {
"version": "7.0.0",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1586826576236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz",
"integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=",
"dev": true
}
......@@ -6332,7 +6455,7 @@
},
"crypto-random-string": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-2.0.0.tgz",
"resolved": "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-2.0.0.tgz?cache=0&sync_timestamp=1583560482221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcrypto-random-string%2Fdownload%2Fcrypto-random-string-2.0.0.tgz",
"integrity": "sha1-7yp6lm7BEIM4g2m6oC6+rSKbMNU=",
"dev": true
},
......@@ -6456,7 +6579,7 @@
},
"decompress-response": {
"version": "3.3.0",
"resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz?cache=0&sync_timestamp=1589512178920&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecompress-response%2Fdownload%2Fdecompress-response-3.3.0.tgz",
"resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz",
"integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
"dev": true,
"requires": {
......@@ -6882,9 +7005,9 @@
}
},
"electron": {
"version": "7.3.0",
"resolved": "https://registry.npm.taobao.org/electron/download/electron-7.3.0.tgz?cache=0&sync_timestamp=1590112107063&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron%2Fdownload%2Felectron-7.3.0.tgz",
"integrity": "sha1-tOG9Hv4yMUU026m2DqXMaIIW87M=",
"version": "7.3.1",
"resolved": "https://registry.npm.taobao.org/electron/download/electron-7.3.1.tgz",
"integrity": "sha1-NXT4WGa5eocSJlRC2/ckTKxjmRA=",
"dev": true,
"requires": {
"@electron/get": "^1.0.1",
......@@ -6893,9 +7016,9 @@
},
"dependencies": {
"@types/node": {
"version": "12.12.42",
"resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.42.tgz",
"integrity": "sha1-0NEUkza9B1QN0epXZpKCnVdd7DQ=",
"version": "12.12.44",
"resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.44.tgz",
"integrity": "sha1-DUAKFFOtyzWbEzrM6uTdi7DgoVk=",
"dev": true
}
}
......@@ -8516,9 +8639,9 @@
}
},
"fs-extra": {
"version": "9.0.0",
"resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-9.0.0.tgz",
"integrity": "sha1-tq/DEDbiR7JGbcmcKa55fV1FgKM=",
"version": "9.0.1",
"resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-9.0.1.tgz",
"integrity": "sha1-kQ2gBiQ3ukw5/t2GPxZ1zP78ufw=",
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
......@@ -8544,7 +8667,7 @@
},
"fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz",
"resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz?cache=0&sync_timestamp=1579628575109&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-2.1.0.tgz",
"integrity": "sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs=",
"dev": true,
"requires": {
......@@ -9269,19 +9392,19 @@
}
},
"global-agent": {
"version": "2.1.9",
"resolved": "https://registry.npm.taobao.org/global-agent/download/global-agent-2.1.9.tgz",
"integrity": "sha1-nIru9qditscHxXrqMCTSoSvw8oY=",
"version": "2.1.12",
"resolved": "https://registry.npm.taobao.org/global-agent/download/global-agent-2.1.12.tgz",
"integrity": "sha1-5K44Ercxqegcv4Jfk3fvRQqOQZU=",
"dev": true,
"optional": true,
"requires": {
"boolean": "^3.0.0",
"core-js": "^3.6.4",
"boolean": "^3.0.1",
"core-js": "^3.6.5",
"es6-error": "^4.1.1",
"matcher": "^2.1.0",
"roarr": "^2.15.2",
"semver": "^7.1.2",
"serialize-error": "^5.0.0"
"matcher": "^3.0.0",
"roarr": "^2.15.3",
"semver": "^7.3.2",
"serialize-error": "^7.0.1"
},
"dependencies": {
"core-js": {
......@@ -9290,6 +9413,13 @@
"integrity": "sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo=",
"dev": true,
"optional": true
},
"semver": {
"version": "7.3.2",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz",
"integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=",
"dev": true,
"optional": true
}
}
},
......@@ -10405,7 +10535,7 @@
},
"is-npm": {
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/is-npm/download/is-npm-4.0.0.tgz?cache=0&sync_timestamp=1589565368496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-npm%2Fdownload%2Fis-npm-4.0.0.tgz",
"resolved": "https://registry.npm.taobao.org/is-npm/download/is-npm-4.0.0.tgz",
"integrity": "sha1-yQ3YOAaW34enptgjwg0LErvjyE0=",
"dev": true
},
......@@ -10600,7 +10730,7 @@
"dependencies": {
"async": {
"version": "0.9.2",
"resolved": "https://registry.npm.taobao.org/async/download/async-0.9.2.tgz?cache=0&sync_timestamp=1582540512270&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync%2Fdownload%2Fasync-0.9.2.tgz",
"resolved": "https://registry.npm.taobao.org/async/download/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
},
......@@ -10779,7 +10909,7 @@
},
"keyv": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz?cache=0&sync_timestamp=1588662501983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkeyv%2Fdownload%2Fkeyv-3.1.0.tgz",
"resolved": "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz",
"integrity": "sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk=",
"dev": true,
"requires": {
......@@ -11307,19 +11437,19 @@
}
},
"matcher": {
"version": "2.1.0",
"resolved": "https://registry.npm.taobao.org/matcher/download/matcher-2.1.0.tgz",
"integrity": "sha1-ZOEEHBW5k+I7eG+TMgp0dL+DPCg=",
"version": "3.0.0",
"resolved": "https://registry.npm.taobao.org/matcher/download/matcher-3.0.0.tgz",
"integrity": "sha1-vZBg9MW3CqgEHMxvgDaHYJlPMMo=",
"dev": true,
"optional": true,
"requires": {
"escape-string-regexp": "^2.0.0"
"escape-string-regexp": "^4.0.0"
},
"dependencies": {
"escape-string-regexp": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz?cache=0&sync_timestamp=1587627154980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-2.0.0.tgz",
"integrity": "sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q=",
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz?cache=0&sync_timestamp=1587627154980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-4.0.0.tgz",
"integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=",
"dev": true,
"optional": true
}
......@@ -11555,7 +11685,7 @@
},
"mimic-response": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz",
"resolved": "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-response%2Fdownload%2Fmimic-response-1.0.1.tgz",
"integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=",
"dev": true
},
......@@ -11766,23 +11896,6 @@
"run-queue": "^1.0.3"
}
},
"move-file": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/move-file/download/move-file-2.0.0.tgz",
"integrity": "sha1-g/+jCbXX9p1RiyjhMz4v+t8zHj4=",
"dev": true,
"requires": {
"path-exists": "^4.0.0"
},
"dependencies": {
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz",
"integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=",
"dev": true
}
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
......@@ -12619,7 +12732,7 @@
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586534511518&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
}
......@@ -14259,7 +14372,7 @@
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz",
"resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586534511518&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
"integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
"dev": true
}
......@@ -14318,13 +14431,22 @@
}
},
"serialize-error": {
"version": "5.0.0",
"resolved": "https://registry.npm.taobao.org/serialize-error/download/serialize-error-5.0.0.tgz?cache=0&sync_timestamp=1589279833260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-error%2Fdownload%2Fserialize-error-5.0.0.tgz",
"integrity": "sha1-p+u82wOl1xpu2EYf/g/Boa/tYqw=",
"version": "7.0.1",
"resolved": "https://registry.npm.taobao.org/serialize-error/download/serialize-error-7.0.1.tgz?cache=0&sync_timestamp=1589279833260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-error%2Fdownload%2Fserialize-error-7.0.1.tgz",
"integrity": "sha1-8TYLBEf2H/tIPsQVfHN/q313jhg=",
"dev": true,
"optional": true,
"requires": {
"type-fest": "^0.8.0"
"type-fest": "^0.13.1"
},
"dependencies": {
"type-fest": {
"version": "0.13.1",
"resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.13.1.tgz",
"integrity": "sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=",
"dev": true,
"optional": true
}
}
},
"serialize-javascript": {
......@@ -15503,7 +15625,7 @@
},
"temp-file": {
"version": "3.3.7",
"resolved": "https://registry.npm.taobao.org/temp-file/download/temp-file-3.3.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftemp-file%2Fdownload%2Ftemp-file-3.3.7.tgz",
"resolved": "https://registry.npm.taobao.org/temp-file/download/temp-file-3.3.7.tgz?cache=0&sync_timestamp=1583218591559&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftemp-file%2Fdownload%2Ftemp-file-3.3.7.tgz",
"integrity": "sha1-aGiF1jX4cnSOOE6HGFWVhHCusYo=",
"dev": true,
"requires": {
......@@ -15556,28 +15678,29 @@
}
},
"terser-webpack-plugin": {
"version": "3.0.2",
"resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-3.0.2.tgz?cache=0&sync_timestamp=1590501116446&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-3.0.2.tgz",
"integrity": "sha1-/cUBxzhH2JBPaoDFAJsR7i0RuOs=",
"version": "3.0.3",
"resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-3.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-3.0.3.tgz",
"integrity": "sha1-I72iaHsZf4eKdDNzuUEdkXrcLkU=",
"dev": true,
"requires": {
"cacache": "^15.0.3",
"cacache": "^15.0.4",
"find-cache-dir": "^3.3.1",
"jest-worker": "^26.0.0",
"p-limit": "^2.3.0",
"schema-utils": "^2.6.6",
"serialize-javascript": "^3.0.0",
"serialize-javascript": "^3.1.0",
"source-map": "^0.6.1",
"terser": "^4.6.13",
"webpack-sources": "^1.4.3"
},
"dependencies": {
"cacache": {
"version": "15.0.3",
"resolved": "https://registry.npm.taobao.org/cacache/download/cacache-15.0.3.tgz",
"integrity": "sha1-IiXC0d2OhyM5lQ1qOcBR4OkzQ5I=",
"version": "15.0.4",
"resolved": "https://registry.npm.taobao.org/cacache/download/cacache-15.0.4.tgz",
"integrity": "sha1-ssI89KxPXq0AT7FaDvsKIDQHQfE=",
"dev": true,
"requires": {
"@npmcli/move-file": "^1.0.1",
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
"glob": "^7.1.4",
......@@ -15588,7 +15711,6 @@
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.2",
"mkdirp": "^1.0.3",
"move-file": "^2.0.0",
"p-map": "^4.0.0",
"promise-inflight": "^1.0.1",
"rimraf": "^3.0.2",
......@@ -15611,7 +15733,7 @@
},
"find-cache-dir": {
"version": "3.3.1",
"resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz",
"resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz",
"integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=",
"dev": true,
"requires": {
......@@ -15641,7 +15763,7 @@
},
"make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567576732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz",
"resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567572251&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz",
"integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=",
"dev": true,
"requires": {
......@@ -15656,7 +15778,7 @@
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz",
"resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1586101408834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz",
"integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
"dev": true,
"requires": {
......@@ -16268,7 +16390,7 @@
},
"update-notifier": {
"version": "4.1.0",
"resolved": "https://registry.npm.taobao.org/update-notifier/download/update-notifier-4.1.0.tgz",
"resolved": "https://registry.npm.taobao.org/update-notifier/download/update-notifier-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupdate-notifier%2Fdownload%2Fupdate-notifier-4.1.0.tgz",
"integrity": "sha1-SGa5jDvFtUc8AgsSUFg2KPmjKPM=",
"dev": true,
"requires": {
......@@ -17702,7 +17824,7 @@
},
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&sync_timestamp=1587574502741&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz",
"resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz",
"integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=",
"dev": true,
"requires": {
......@@ -17885,7 +18007,7 @@
},
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz",
"resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1586101408834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz",
"integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
"dev": true,
"requires": {
......@@ -17917,7 +18039,7 @@
},
"yargs-parser": {
"version": "18.1.3",
"resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1590107599564&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz",
"resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-18.1.3.tgz",
"integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=",
"dev": true,
"requires": {
......
......@@ -75,7 +75,7 @@
"electron-updater": "^4.3.1",
"element-ui": "^2.13.2",
"express": "^4.17.1",
"fs-extra": "^9.0.0",
"fs-extra": "^9.0.1",
"js-cookie": "^2.2.1",
"nedb": "^1.8.0",
"nprogress": "^0.2.0",
......@@ -112,13 +112,14 @@
"babel-eslint": "^9.0.0",
"babel-loader": "^8.1.0",
"babel-minify-webpack-plugin": "^0.3.1",
"cache-loader": "^4.1.0",
"cfonts": "^2.8.2",
"chalk": "^4.0.0",
"copy-webpack-plugin": "^5.1.1",
"cross-env": "^7.0.2",
"css-loader": "^3.5.3",
"del": "^5.1.0",
"electron": "^7.3.0",
"electron": "^7.3.1",
"electron-builder": "^22.7.0",
"electron-devtools-installer": "^3.0.0",
"eslint": "^6.8.0",
......@@ -143,7 +144,7 @@
"split2": "^3.1.1",
"style-loader": "^1.2.1",
"svg-sprite-loader": "^4.3.0",
"terser-webpack-plugin": "^3.0.2",
"terser-webpack-plugin": "^3.0.3",
"through2-filter": "^3.0.0",
"url-loader": "^4.1.0",
"vue-html-loader": "^1.2.4",
......
......@@ -2,9 +2,13 @@
import router from './router'
import store from './store'
import { Message } from 'element-ui'
import Performance from '@/tools/performance'
const whiteList = ['/login'] // 不重定向白名单
var end = null
router.beforeEach((to, from, next) => {
end = Performance.startExecute(`${from.path} => ${to.path} 路由耗时`) /// 路由性能监控
if (store.getters.token) {
if (to.path === '/login') {
next({ path: '/' })
......@@ -29,6 +33,9 @@ router.beforeEach((to, from, next) => {
next('/login')
}
}
setTimeout(() => {
end()
}, 0)
})
router.afterEach(() => {})
router.afterEach(() => { })
......
/**
* 性能工具
* 1. 计算方法执行时间
* @returns {void}
* @date 2019-11-29
*/
import Timer from './timer'
class Performance {
/**
* 计算情况
* @returns {Function} 执行返回值获取时间信息
* @date 2019-11-29
*/
startExecute (name = '') {
const timer = Timer.start()
const usedJSHeapSize = this.getMemoryInfo().usedJSHeapSize
return (name2 = '') => {
const executeTime = timer.stop()
const endMemoryInfo = this.getMemoryInfo()
console.log('%cPerformance%c \n1. 执行方法:%c%s%c\n2. 执行耗时: %c%sms%c \n3. 内存波动:%sB \n4. 已分配内存: %sMB \n5. 已使用内存:%sMB \n6. 剩余内存: %sMB',
'padding: 2px 4px 2px 4px; background-color: #4caf50; color: #fff; border-radius: 4px;', '',
'color: #ff6f00', `${name} ${name2}`, '',
'color: #ff6f00', executeTime, '',
endMemoryInfo.usedJSHeapSize - usedJSHeapSize,
this.toMBSize(endMemoryInfo.jsHeapSizeLimit),
this.toMBSize(endMemoryInfo.usedJSHeapSize),
this.toMBSize(endMemoryInfo.totalJSHeapSize)
)
}
}
/**
* 获取内存信息
* @returns {void}
* @date 2019-11-29
*/
getMemoryInfo () {
let memoryInfo = {}
if (window.performance && window.performance.memory) {
memoryInfo = window.performance.memory
}
return memoryInfo
}
/**
* 转化为MB
* @returns {void}
* @date 2019-11-29
*/
toMBSize (byteSize) {
return (byteSize / (1024 * 1024)).toFixed(1)
}
}
export default new Performance()
/* eslint-disable no-return-assign */
/**
* 计时器
* 支持链式调用
* timeout()
* .then(()=>{
* return inTheEnd();
* })
* .then(()=>{
* return inTheEnd();
* });
*
* @date 2019-11-25
*/
class Timer {
/**
* 延时操作
* @returns {void}
* @date 2019-11-25
*/
timeout (interval, args) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(args)
}, interval)
})
}
/**
* 等待代码片段执行完毕后再执行
* @returns {void}
* @date 2019-11-25
*/
inTheEnd () {
return this.timeout(0)
}
/**
* 循环定时, 执行回调后再继续下一轮循环
* @param {Number} interval 执行间隔
* @param {Function} [callback] 回调
* @returns {Object}
* @date 2019-11-25
*/
interval (interval, callback) {
this.timeout(interval)
.then(() => {
typeof callback === 'function' &&
callback() !== false &&
this.interval(interval, callback)
})
return { then: c => callback = c }
}
/**
* 计时,单位毫秒
* @returns {void}
* @date 2019-11-29
*/
start () {
const startDate = new Date()
return {
stop () {
const stopDate = new Date()
return stopDate.getTime() - startDate.getTime()
}
}
}
}
export default new Timer()