正在显示
12 个修改的文件
包含
160 行增加
和
171 行删除
| ... | @@ -6,6 +6,8 @@ | ... | @@ -6,6 +6,8 @@ |
| 6 | [ | 6 | [ |
| 7 | "@babel/preset-env", | 7 | "@babel/preset-env", |
| 8 | { | 8 | { |
| 9 | + "useBuiltIns": "usage", | ||
| 10 | + "corejs": 3, | ||
| 9 | "targets": { | 11 | "targets": { |
| 10 | "node": 7 | 12 | "node": 7 |
| 11 | } | 13 | } |
| ... | @@ -46,7 +48,9 @@ | ... | @@ -46,7 +48,9 @@ |
| 46 | [ | 48 | [ |
| 47 | "@babel/preset-env", | 49 | "@babel/preset-env", |
| 48 | { | 50 | { |
| 49 | - "modules": false | 51 | + "modules": false, |
| 52 | + "useBuiltIns": "usage", | ||
| 53 | + "corejs": 3 | ||
| 50 | } | 54 | } |
| 51 | ] | 55 | ] |
| 52 | ], | 56 | ], |
| ... | @@ -84,7 +88,9 @@ | ... | @@ -84,7 +88,9 @@ |
| 84 | [ | 88 | [ |
| 85 | "@babel/preset-env", | 89 | "@babel/preset-env", |
| 86 | { | 90 | { |
| 87 | - "modules": false | 91 | + "modules": false, |
| 92 | + "useBuiltIns": "usage", | ||
| 93 | + "corejs": 3 | ||
| 88 | } | 94 | } |
| 89 | ] | 95 | ] |
| 90 | ], | 96 | ], | ... | ... |
| 1 | 'use strict' | 1 | 'use strict' |
| 2 | - | ||
| 3 | process.env.NODE_ENV = 'production' | 2 | process.env.NODE_ENV = 'production' |
| 4 | - | ||
| 5 | const { say } = require('cfonts') | 3 | const { say } = require('cfonts') |
| 6 | const chalk = require('chalk') | 4 | const chalk = require('chalk') |
| 7 | const del = require('del') | 5 | const del = require('del') |
| ... | @@ -21,16 +19,16 @@ if (process.env.BUILD_TARGET === 'clean') clean() | ... | @@ -21,16 +19,16 @@ if (process.env.BUILD_TARGET === 'clean') clean() |
| 21 | else if (process.env.BUILD_TARGET === 'web') web() | 19 | else if (process.env.BUILD_TARGET === 'web') web() |
| 22 | else build() | 20 | else build() |
| 23 | 21 | ||
| 24 | -function clean () { | 22 | +function clean() { |
| 25 | - del.sync(['dist/electron/*','build/*', '!build/icons','!build/lib','!build/lib/electron-build.*', '!build/icons/icon.*']) | 23 | + del.sync(['dist/electron/*', 'build/*', '!build/icons', '!build/lib', '!build/lib/electron-build.*', '!build/icons/icon.*']) |
| 26 | console.log(`\n${doneLog}clear done`) | 24 | console.log(`\n${doneLog}clear done`) |
| 27 | process.exit() | 25 | process.exit() |
| 28 | } | 26 | } |
| 29 | 27 | ||
| 30 | -function build () { | 28 | +function build() { |
| 31 | greeting() | 29 | greeting() |
| 32 | 30 | ||
| 33 | - del.sync(['dist/electron/*', '!.gitkeep']) | 31 | + del.sync(['dist/electron/*', 'build/*', '!build/icons', '!build/lib', '!build/lib/electron-build.*', '!build/icons/icon.*']) |
| 34 | 32 | ||
| 35 | const tasks = ['main', 'renderer'] | 33 | const tasks = ['main', 'renderer'] |
| 36 | const m = new Multispinner(tasks, { | 34 | const m = new Multispinner(tasks, { |
| ... | @@ -68,7 +66,7 @@ function build () { | ... | @@ -68,7 +66,7 @@ function build () { |
| 68 | }) | 66 | }) |
| 69 | } | 67 | } |
| 70 | 68 | ||
| 71 | -function pack (config) { | 69 | +function pack(config) { |
| 72 | return new Promise((resolve, reject) => { | 70 | return new Promise((resolve, reject) => { |
| 73 | config.mode = 'production' | 71 | config.mode = 'production' |
| 74 | webpack(config, (err, stats) => { | 72 | webpack(config, (err, stats) => { |
| ... | @@ -96,7 +94,7 @@ function pack (config) { | ... | @@ -96,7 +94,7 @@ function pack (config) { |
| 96 | }) | 94 | }) |
| 97 | } | 95 | } |
| 98 | 96 | ||
| 99 | -function web () { | 97 | +function web() { |
| 100 | del.sync(['dist/web/*', '!.gitkeep']) | 98 | del.sync(['dist/web/*', '!.gitkeep']) |
| 101 | rendererConfig.mode = 'production' | 99 | rendererConfig.mode = 'production' |
| 102 | webpack(rendererConfig, (err, stats) => { | 100 | webpack(rendererConfig, (err, stats) => { |
| ... | @@ -111,7 +109,7 @@ function web () { | ... | @@ -111,7 +109,7 @@ function web () { |
| 111 | }) | 109 | }) |
| 112 | } | 110 | } |
| 113 | 111 | ||
| 114 | -function greeting () { | 112 | +function greeting() { |
| 115 | const cols = process.stdout.columns | 113 | const cols = process.stdout.columns |
| 116 | let text = '' | 114 | let text = '' |
| 117 | 115 | ... | ... |
| ... | @@ -71,6 +71,7 @@ function startRenderer() { | ... | @@ -71,6 +71,7 @@ function startRenderer() { |
| 71 | if (err) { | 71 | if (err) { |
| 72 | reject("PortError:" + err) | 72 | reject("PortError:" + err) |
| 73 | } else { | 73 | } else { |
| 74 | + WebpackDevServer.addDevServerEntrypoints(rendererConfig, {}); | ||
| 74 | const compiler = webpack(rendererConfig) | 75 | const compiler = webpack(rendererConfig) |
| 75 | hotMiddleware = webpackHotMiddleware(compiler, { | 76 | hotMiddleware = webpackHotMiddleware(compiler, { |
| 76 | log: false, | 77 | log: false, |
| ... | @@ -91,6 +92,10 @@ function startRenderer() { | ... | @@ -91,6 +92,10 @@ function startRenderer() { |
| 91 | compiler, { | 92 | compiler, { |
| 92 | contentBase: path.join(__dirname, '../'), | 93 | contentBase: path.join(__dirname, '../'), |
| 93 | quiet: true, | 94 | quiet: true, |
| 95 | + stats: { | ||
| 96 | + colors: true, | ||
| 97 | + | ||
| 98 | + }, | ||
| 94 | before(app, ctx) { | 99 | before(app, ctx) { |
| 95 | app.use(hotMiddleware) | 100 | app.use(hotMiddleware) |
| 96 | ctx.middleware.waitUntilValid(() => { | 101 | ctx.middleware.waitUntilValid(() => { | ... | ... |
.electron-vue/utils.js
0 → 100644
| 1 | +'use strict' | ||
| 2 | +const MiniCssPlugin = require('mini-css-extract-plugin'); | ||
| 3 | + | ||
| 4 | +exports.cssLoaders = function (options) { | ||
| 5 | + options = options || {} | ||
| 6 | + | ||
| 7 | + const cssLoader = { | ||
| 8 | + loader: 'css-loader', | ||
| 9 | + options: { | ||
| 10 | + sourceMap: options.sourceMap, | ||
| 11 | + esModule: false | ||
| 12 | + } | ||
| 13 | + } | ||
| 14 | + | ||
| 15 | + // 这里就是生成loader和其对应的配置 | ||
| 16 | + function generateLoaders(loader, loaderOptions) { | ||
| 17 | + const loaders = [cssLoader] | ||
| 18 | + | ||
| 19 | + if (loader) { | ||
| 20 | + loaders.push({ | ||
| 21 | + loader: loader + '-loader', | ||
| 22 | + options: Object.assign({}, loaderOptions, { | ||
| 23 | + sourceMap: options.sourceMap | ||
| 24 | + }) | ||
| 25 | + }) | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + // 当配置信息中开启此项时,启用css分离压缩 | ||
| 29 | + // 这一项在生产环境时,是默认开启的 | ||
| 30 | + if (options.extract) { | ||
| 31 | + return [MiniCssPlugin.loader].concat(loaders) | ||
| 32 | + } else { | ||
| 33 | + // 如果不开启则让vue-style-loader来处理 | ||
| 34 | + return ['vue-style-loader'].concat(loaders) | ||
| 35 | + } | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + // https://vue-loader.vuejs.org/en/configurations/extract-css.html | ||
| 39 | + return { | ||
| 40 | + css: generateLoaders(), | ||
| 41 | + postcss: generateLoaders(), | ||
| 42 | + less: generateLoaders('less'), | ||
| 43 | + sass: generateLoaders('sass', { indentedSyntax: true }), | ||
| 44 | + scss: generateLoaders('sass'), | ||
| 45 | + stylus: generateLoaders('stylus'), | ||
| 46 | + styl: generateLoaders('stylus') | ||
| 47 | + } | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +// 根据上面的函数遍历出来的各个css预处理器的loader进行最后的拼装 | ||
| 51 | +exports.styleLoaders = function (options) { | ||
| 52 | + const output = [] | ||
| 53 | + const loaders = exports.cssLoaders(options) | ||
| 54 | + | ||
| 55 | + | ||
| 56 | + for (const extension in loaders) { | ||
| 57 | + const loader = loaders[extension] | ||
| 58 | + output.push({ | ||
| 59 | + test: new RegExp('\\.' + extension + '$'), | ||
| 60 | + use: loader | ||
| 61 | + }) | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + return output | ||
| 65 | +} |
| ... | @@ -20,22 +20,6 @@ let mainConfig = { | ... | @@ -20,22 +20,6 @@ let mainConfig = { |
| 20 | ], | 20 | ], |
| 21 | module: { | 21 | module: { |
| 22 | rules: [ | 22 | rules: [ |
| 23 | - // { | ||
| 24 | - // test: /\.(js)$/, | ||
| 25 | - // enforce: 'pre', | ||
| 26 | - // exclude: /node_modules/, | ||
| 27 | - // use: { | ||
| 28 | - // loader: 'eslint-loader', | ||
| 29 | - // options: { | ||
| 30 | - // formatter: require('eslint-friendly-formatter') | ||
| 31 | - // } | ||
| 32 | - // } | ||
| 33 | - // }, | ||
| 34 | - // { | ||
| 35 | - // test: /\.js$/, | ||
| 36 | - // use: 'happypack/loader?id=MainHappyBabel', | ||
| 37 | - // exclude: /node_modules/ | ||
| 38 | - // }, | ||
| 39 | { | 23 | { |
| 40 | test: /\.ts$/, | 24 | test: /\.ts$/, |
| 41 | use: [{ | 25 | use: [{ | ... | ... |
| ... | @@ -6,13 +6,16 @@ const path = require('path') | ... | @@ -6,13 +6,16 @@ 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 { styleLoaders } = require('./utils') | ||
| 9 | const IsWeb = process.env.ENV_TARGET === 'web' | 10 | const IsWeb = process.env.ENV_TARGET === 'web' |
| 10 | 11 | ||
| 11 | const CopyWebpackPlugin = require('copy-webpack-plugin') | 12 | const CopyWebpackPlugin = require('copy-webpack-plugin') |
| 12 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') | 13 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') |
| 13 | const HtmlWebpackPlugin = require('html-webpack-plugin') | 14 | const HtmlWebpackPlugin = require('html-webpack-plugin') |
| 14 | const TerserPlugin = require('terser-webpack-plugin'); | 15 | const TerserPlugin = require('terser-webpack-plugin'); |
| 16 | +// const ESLintPlugin = require('eslint-webpack-plugin'); | ||
| 15 | const { VueLoaderPlugin } = require('vue-loader') | 17 | const { VueLoaderPlugin } = require('vue-loader') |
| 18 | + | ||
| 16 | function resolve(dir) { | 19 | function resolve(dir) { |
| 17 | return path.join(__dirname, '..', dir) | 20 | return path.join(__dirname, '..', dir) |
| 18 | } | 21 | } |
| ... | @@ -26,7 +29,7 @@ function resolve(dir) { | ... | @@ -26,7 +29,7 @@ function resolve(dir) { |
| 26 | let whiteListedModules = IsWeb ? [] : ['vue', "element-ui"] | 29 | let whiteListedModules = IsWeb ? [] : ['vue', "element-ui"] |
| 27 | 30 | ||
| 28 | let rendererConfig = { | 31 | let rendererConfig = { |
| 29 | - devtool: '#cheap-module-eval-source-map', | 32 | + devtool: 'eval-source-map', |
| 30 | entry: { | 33 | entry: { |
| 31 | renderer: resolve('src/renderer/main.js') | 34 | renderer: resolve('src/renderer/main.js') |
| 32 | }, | 35 | }, |
| ... | @@ -35,57 +38,9 @@ let rendererConfig = { | ... | @@ -35,57 +38,9 @@ let rendererConfig = { |
| 35 | ], | 38 | ], |
| 36 | module: { | 39 | module: { |
| 37 | rules: [ | 40 | 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 | - { | ||
| 50 | - test: /\.scss$/, | ||
| 51 | - use: ['vue-style-loader', | ||
| 52 | - { | ||
| 53 | - loader: 'css-loader', | ||
| 54 | - options: { | ||
| 55 | - esModule: false | ||
| 56 | - } | ||
| 57 | - }, | ||
| 58 | - 'sass-loader'] | ||
| 59 | - }, | ||
| 60 | - { | ||
| 61 | - test: /\.sass$/, | ||
| 62 | - use: ['vue-style-loader', | ||
| 63 | - { | ||
| 64 | - loader: 'css-loader', | ||
| 65 | - options: { | ||
| 66 | - esModule: false | ||
| 67 | - } | ||
| 68 | - }, 'sass-loader?indentedSyntax'] | ||
| 69 | - }, | ||
| 70 | - { | ||
| 71 | - test: /\.less$/, | ||
| 72 | - use: ['vue-style-loader', | ||
| 73 | - { | ||
| 74 | - loader: 'css-loader', | ||
| 75 | - options: { | ||
| 76 | - esModule: false | ||
| 77 | - } | ||
| 78 | - }, 'less-loader'] | ||
| 79 | - }, | ||
| 80 | - { | ||
| 81 | - test: /\.css$/, | ||
| 82 | - use: ['vue-style-loader', | ||
| 83 | { | 41 | { |
| 84 | - loader: 'css-loader', | 42 | + test: /\.vue$/, |
| 85 | - options: { | 43 | + loader: "vue-loader" |
| 86 | - esModule: false | ||
| 87 | - } | ||
| 88 | - }] | ||
| 89 | }, | 44 | }, |
| 90 | { | 45 | { |
| 91 | test: /\.html$/, | 46 | test: /\.html$/, |
| ... | @@ -102,20 +57,6 @@ let rendererConfig = { | ... | @@ -102,20 +57,6 @@ let rendererConfig = { |
| 102 | exclude: /node_modules/ | 57 | exclude: /node_modules/ |
| 103 | }, | 58 | }, |
| 104 | { | 59 | { |
| 105 | - test: /\.node$/, | ||
| 106 | - use: 'node-loader' | ||
| 107 | - }, | ||
| 108 | - { | ||
| 109 | - test: /\.vue$/, | ||
| 110 | - use: { | ||
| 111 | - loader: 'vue-loader', | ||
| 112 | - options: { | ||
| 113 | - cacheDirectory: 'node_modules/.cache/vue-loader', | ||
| 114 | - cacheIdentifier: '7270960a', | ||
| 115 | - } | ||
| 116 | - } | ||
| 117 | - }, | ||
| 118 | - { | ||
| 119 | test: /\.svg$/, | 60 | test: /\.svg$/, |
| 120 | loader: 'svg-sprite-loader', | 61 | loader: 'svg-sprite-loader', |
| 121 | include: [resolve('src/renderer/icons')], | 62 | include: [resolve('src/renderer/icons')], |
| ... | @@ -124,35 +65,24 @@ let rendererConfig = { | ... | @@ -124,35 +65,24 @@ let rendererConfig = { |
| 124 | } | 65 | } |
| 125 | }, | 66 | }, |
| 126 | { | 67 | { |
| 127 | - test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, | 68 | + test: /\.(png|jpe?g|gif)(\?.*)?$/, |
| 128 | - exclude: [resolve('src/renderer/icons')], | 69 | + type: "asset/resource", |
| 129 | - use: { | 70 | + generator: { |
| 130 | - loader: 'url-loader', | 71 | + filename: 'imgs/[name]--[hash].[ext]' |
| 131 | - query: { | ||
| 132 | - esModule: false, | ||
| 133 | - limit: 10000, | ||
| 134 | - name: 'imgs/[name]--[folder].[ext]' | ||
| 135 | } | 72 | } |
| 136 | }, | 73 | }, |
| 137 | - }, | ||
| 138 | { | 74 | { |
| 139 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, | 75 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, |
| 140 | - loader: 'url-loader', | 76 | + type: "asset/resource", |
| 141 | - options: { | 77 | + generator: { |
| 142 | - esModule: false, | 78 | + filename: 'media/[name]--[hash].[ext]' |
| 143 | - limit: 10000, | ||
| 144 | - name: 'media/[name]--[folder].[ext]' | ||
| 145 | } | 79 | } |
| 146 | }, | 80 | }, |
| 147 | { | 81 | { |
| 148 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, | 82 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, |
| 149 | - use: { | 83 | + type: "asset/resource", |
| 150 | - loader: 'url-loader', | 84 | + generator: { |
| 151 | - query: { | 85 | + filename: 'fonts/[name]--[hash].[ext]' |
| 152 | - esModule: false, | ||
| 153 | - limit: 10000, | ||
| 154 | - name: 'fonts/[name]--[folder].[ext]' | ||
| 155 | - } | ||
| 156 | } | 86 | } |
| 157 | } | 87 | } |
| 158 | ] | 88 | ] |
| ... | @@ -209,6 +139,8 @@ let rendererConfig = { | ... | @@ -209,6 +139,8 @@ let rendererConfig = { |
| 209 | }, | 139 | }, |
| 210 | target: 'electron-renderer' | 140 | target: 'electron-renderer' |
| 211 | } | 141 | } |
| 142 | +// 将css相关得loader抽取出来 | ||
| 143 | +rendererConfig.module.rules = rendererConfig.module.rules.concat(styleLoaders({ sourceMap: config.dev.cssSourceMap })) | ||
| 212 | 144 | ||
| 213 | /** | 145 | /** |
| 214 | * Adjust rendererConfig for development settings | 146 | * Adjust rendererConfig for development settings |
| ... | @@ -226,8 +158,6 @@ if (process.env.NODE_ENV !== 'production' && !IsWeb) { | ... | @@ -226,8 +158,6 @@ if (process.env.NODE_ENV !== 'production' && !IsWeb) { |
| 226 | * Adjust rendererConfig for production settings | 158 | * Adjust rendererConfig for production settings |
| 227 | */ | 159 | */ |
| 228 | if (process.env.NODE_ENV === 'production') { | 160 | if (process.env.NODE_ENV === 'production') { |
| 229 | - rendererConfig.devtool = '' | ||
| 230 | - | ||
| 231 | rendererConfig.plugins.push( | 161 | rendererConfig.plugins.push( |
| 232 | new CopyWebpackPlugin({ | 162 | new CopyWebpackPlugin({ |
| 233 | patterns: [ | 163 | patterns: [ |
| ... | @@ -252,8 +182,6 @@ if (process.env.NODE_ENV === 'production') { | ... | @@ -252,8 +182,6 @@ if (process.env.NODE_ENV === 'production') { |
| 252 | new TerserPlugin({ | 182 | new TerserPlugin({ |
| 253 | test: /\.js(\?.*)?$/i, | 183 | test: /\.js(\?.*)?$/i, |
| 254 | extractComments: false, | 184 | extractComments: false, |
| 255 | - cache: true, | ||
| 256 | - sourceMap: false, | ||
| 257 | terserOptions: { | 185 | terserOptions: { |
| 258 | warnings: false, | 186 | warnings: false, |
| 259 | compress: { | 187 | compress: { |
| ... | @@ -270,7 +198,7 @@ if (process.env.NODE_ENV === 'production') { | ... | @@ -270,7 +198,7 @@ if (process.env.NODE_ENV === 'production') { |
| 270 | drop_debugger: true, | 198 | drop_debugger: true, |
| 271 | pure_funcs: ['console.log'] | 199 | pure_funcs: ['console.log'] |
| 272 | }, | 200 | }, |
| 273 | - } | 201 | + }, |
| 274 | })] | 202 | })] |
| 275 | } | 203 | } |
| 276 | if (IsWeb) { | 204 | if (IsWeb) { |
| ... | @@ -298,6 +226,9 @@ if (process.env.NODE_ENV === 'production') { | ... | @@ -298,6 +226,9 @@ if (process.env.NODE_ENV === 'production') { |
| 298 | } | 226 | } |
| 299 | rendererConfig.optimization.runtimeChunk = { name: 'runtime' } | 227 | rendererConfig.optimization.runtimeChunk = { name: 'runtime' } |
| 300 | } | 228 | } |
| 229 | +} else { | ||
| 230 | + // eslint | ||
| 231 | + // rendererConfig.plugins.push(new ESLintPlugin(config.dev.ESLintoptions)) | ||
| 301 | } | 232 | } |
| 302 | 233 | ||
| 303 | module.exports = rendererConfig | 234 | module.exports = rendererConfig | ... | ... |
| ... | @@ -14,5 +14,5 @@ yarn-error.log* | ... | @@ -14,5 +14,5 @@ yarn-error.log* |
| 14 | *.ntvs* | 14 | *.ntvs* |
| 15 | *.njsproj | 15 | *.njsproj |
| 16 | *.sln | 16 | *.sln |
| 17 | -electron-vue-template-ts.7z | ||
| 18 | server/client/electron-vue-admin Setup 0.0.1.exe | 17 | server/client/electron-vue-admin Setup 0.0.1.exe |
| 18 | +/build/builder-effective-config.yaml | ... | ... |
| ... | @@ -7,7 +7,11 @@ module.exports = { | ... | @@ -7,7 +7,11 @@ module.exports = { |
| 7 | env: require('./dev.env'), | 7 | env: require('./dev.env'), |
| 8 | removeElectronJunk: true, | 8 | removeElectronJunk: true, |
| 9 | chineseLog: false, | 9 | chineseLog: false, |
| 10 | - port: 9080 | 10 | + port: 9080, |
| 11 | + ESLintoptions:{ | ||
| 12 | + formatter: require('eslint-friendly-formatter') | ||
| 13 | + }, | ||
| 14 | + cssSourceMap: true | ||
| 11 | }, | 15 | }, |
| 12 | UseStartupChart: true, | 16 | UseStartupChart: true, |
| 13 | IsUseSysTitle: true, | 17 | IsUseSysTitle: true, | ... | ... |
| ... | @@ -6,7 +6,7 @@ | ... | @@ -6,7 +6,7 @@ |
| 6 | "license": "MIT", | 6 | "license": "MIT", |
| 7 | "main": "./dist/electron/main.js", | 7 | "main": "./dist/electron/main.js", |
| 8 | "scripts": { | 8 | "scripts": { |
| 9 | - "dev": "cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/dev-runner.js", | 9 | + "dev": "node .electron-vue/dev-runner.js", |
| 10 | "build": "cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder", | 10 | "build": "cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder", |
| 11 | "build:win32": "cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --win --ia32", | 11 | "build:win32": "cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --win --ia32", |
| 12 | "build:win64": "cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --win --x64", | 12 | "build:win64": "cross-env BUILD_TARGET=clean node .electron-vue/build.js && node .electron-vue/build.js && electron-builder --win --x64", |
| ... | @@ -19,7 +19,7 @@ | ... | @@ -19,7 +19,7 @@ |
| 19 | "pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js", | 19 | "pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js", |
| 20 | "update:serve": "node server/index.js", | 20 | "update:serve": "node server/index.js", |
| 21 | "dep:upgrade": "yarn upgrade-interactive --latest", | 21 | "dep:upgrade": "yarn upgrade-interactive --latest", |
| 22 | - "postinstall": "install-app-deps" | 22 | + "postinstall": "electron-builder install-app-deps" |
| 23 | }, | 23 | }, |
| 24 | "build": { | 24 | "build": { |
| 25 | "extraFiles": [], | 25 | "extraFiles": [], |
| ... | @@ -66,7 +66,7 @@ | ... | @@ -66,7 +66,7 @@ |
| 66 | }, | 66 | }, |
| 67 | "dependencies": { | 67 | "dependencies": { |
| 68 | "axios": "^0.21.1", | 68 | "axios": "^0.21.1", |
| 69 | - "date-fns": "^2.16.1", | 69 | + "date-fns": "^2.17.0", |
| 70 | "electron-updater": "^4.3.5", | 70 | "electron-updater": "^4.3.5", |
| 71 | "element-ui": "^2.15.0", | 71 | "element-ui": "^2.15.0", |
| 72 | "express": "^4.17.1", | 72 | "express": "^4.17.1", |
| ... | @@ -74,79 +74,75 @@ | ... | @@ -74,79 +74,75 @@ |
| 74 | "js-cookie": "^2.2.1", | 74 | "js-cookie": "^2.2.1", |
| 75 | "nprogress": "^0.2.0", | 75 | "nprogress": "^0.2.0", |
| 76 | "vue": "^2.6.12", | 76 | "vue": "^2.6.12", |
| 77 | - "vue-router": "^3.4.9", | 77 | + "vue-router": "^3.5.1", |
| 78 | - "vuex": "^3.6.0" | 78 | + "vuex": "^3.6.2" |
| 79 | }, | 79 | }, |
| 80 | "devDependencies": { | 80 | "devDependencies": { |
| 81 | - "@babel/core": "^7.12.10", | 81 | + "@babel/core": "^7.12.13", |
| 82 | - "@babel/plugin-proposal-class-properties": "^7.12.1", | 82 | + "@babel/eslint-parser": "^7.12.13", |
| 83 | - "@babel/plugin-proposal-decorators": "^7.12.12", | 83 | + "@babel/plugin-proposal-class-properties": "^7.12.13", |
| 84 | - "@babel/plugin-proposal-do-expressions": "^7.12.1", | 84 | + "@babel/plugin-proposal-decorators": "^7.12.13", |
| 85 | - "@babel/plugin-proposal-export-default-from": "^7.12.1", | 85 | + "@babel/plugin-proposal-do-expressions": "^7.12.13", |
| 86 | - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", | 86 | + "@babel/plugin-proposal-export-default-from": "^7.12.13", |
| 87 | - "@babel/plugin-proposal-function-bind": "^7.12.1", | 87 | + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", |
| 88 | - "@babel/plugin-proposal-function-sent": "^7.12.1", | 88 | + "@babel/plugin-proposal-function-bind": "^7.12.13", |
| 89 | - "@babel/plugin-proposal-json-strings": "^7.12.1", | 89 | + "@babel/plugin-proposal-function-sent": "^7.12.13", |
| 90 | - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", | 90 | + "@babel/plugin-proposal-json-strings": "^7.12.13", |
| 91 | - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", | 91 | + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13", |
| 92 | - "@babel/plugin-proposal-numeric-separator": "^7.12.7", | 92 | + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13", |
| 93 | - "@babel/plugin-proposal-optional-chaining": "^7.12.7", | 93 | + "@babel/plugin-proposal-numeric-separator": "^7.12.13", |
| 94 | - "@babel/plugin-proposal-pipeline-operator": "^7.12.1", | 94 | + "@babel/plugin-proposal-optional-chaining": "^7.12.13", |
| 95 | - "@babel/plugin-proposal-throw-expressions": "^7.12.1", | 95 | + "@babel/plugin-proposal-pipeline-operator": "^7.12.13", |
| 96 | + "@babel/plugin-proposal-throw-expressions": "^7.12.13", | ||
| 96 | "@babel/plugin-syntax-dynamic-import": "^7.8.3", | 97 | "@babel/plugin-syntax-dynamic-import": "^7.8.3", |
| 97 | "@babel/plugin-syntax-import-meta": "^7.10.4", | 98 | "@babel/plugin-syntax-import-meta": "^7.10.4", |
| 98 | - "@babel/plugin-transform-runtime": "^7.12.10", | 99 | + "@babel/plugin-transform-runtime": "^7.12.15", |
| 99 | "@babel/polyfill": "^7.12.1", | 100 | "@babel/polyfill": "^7.12.1", |
| 100 | - "@babel/preset-env": "^7.12.11", | 101 | + "@babel/preset-env": "^7.12.13", |
| 101 | - "@babel/register": "^7.12.10", | 102 | + "@babel/register": "^7.12.13", |
| 102 | - "@babel/runtime": "^7.12.5", | 103 | + "@babel/runtime": "^7.12.13", |
| 103 | "@types/fs-extra": "^9.0.6", | 104 | "@types/fs-extra": "^9.0.6", |
| 104 | - "@types/node": "^14.14.22", | 105 | + "@types/node": "^14.14.25", |
| 105 | - "ajv": "^6.12.6", | 106 | + "ajv": "^7.0.4", |
| 106 | - "babel-eslint": "^9.0.0", | ||
| 107 | "babel-loader": "^8.2.2", | 107 | "babel-loader": "^8.2.2", |
| 108 | - "cache-loader": "^4.1.0", | ||
| 109 | "cfonts": "^2.9.1", | 108 | "cfonts": "^2.9.1", |
| 110 | "chalk": "^4.0.0", | 109 | "chalk": "^4.0.0", |
| 111 | - "copy-webpack-plugin": "^6.3.2", | 110 | + "copy-webpack-plugin": "^7.0.0", |
| 111 | + "core-js": "^3.8.3", | ||
| 112 | "cross-env": "^7.0.3", | 112 | "cross-env": "^7.0.3", |
| 113 | "css-loader": "^5.0.1", | 113 | "css-loader": "^5.0.1", |
| 114 | "del": "^6.0.0", | 114 | "del": "^6.0.0", |
| 115 | - "electron": "^11.2.1", | 115 | + "electron": "^11.2.3", |
| 116 | "electron-builder": "^22.9.1", | 116 | "electron-builder": "^22.9.1", |
| 117 | "electron-devtools-installer": "^3.1.1", | 117 | "electron-devtools-installer": "^3.1.1", |
| 118 | - "eslint": "^6.8.0", | 118 | + "eslint": "^7.19.0", |
| 119 | - "eslint-config-standard": "^14.1.1", | 119 | + "eslint-config-standard": "^16.0.2", |
| 120 | "eslint-friendly-formatter": "^4.0.1", | 120 | "eslint-friendly-formatter": "^4.0.1", |
| 121 | - "eslint-loader": "^3.0.4", | ||
| 122 | "eslint-plugin-html": "^6.1.1", | 121 | "eslint-plugin-html": "^6.1.1", |
| 123 | "eslint-plugin-import": "^2.22.1", | 122 | "eslint-plugin-import": "^2.22.1", |
| 124 | - "eslint-plugin-node": "^9.2.0", | 123 | + "eslint-plugin-node": "^11.1.0", |
| 125 | "eslint-plugin-promise": "^4.2.1", | 124 | "eslint-plugin-promise": "^4.2.1", |
| 126 | - "eslint-plugin-standard": "^4.1.0", | 125 | + "eslint-webpack-plugin": "^2.5.0", |
| 127 | - "file-loader": "^6.2.0", | 126 | + "html-webpack-plugin": "^5.0.0", |
| 128 | - "html-webpack-plugin": "^4.5.1", | 127 | + "mini-css-extract-plugin": "1.3.5", |
| 129 | - "mini-css-extract-plugin": "1.3.4", | ||
| 130 | "multispinner": "^0.2.1", | 128 | "multispinner": "^0.2.1", |
| 131 | "node-loader": "^1.0.2", | 129 | "node-loader": "^1.0.2", |
| 132 | "portfinder": "^1.0.28", | 130 | "portfinder": "^1.0.28", |
| 133 | - "sass": "^1.32.5", | 131 | + "sass": "^1.32.6", |
| 134 | - "sass-loader": "^10.1.1", | 132 | + "sass-loader": "^11.0.0", |
| 135 | "split2": "^3.2.2", | 133 | "split2": "^3.2.2", |
| 136 | "style-loader": "^2.0.0", | 134 | "style-loader": "^2.0.0", |
| 137 | "svg-sprite-loader": "^5.2.1", | 135 | "svg-sprite-loader": "^5.2.1", |
| 138 | - "terser-webpack-plugin": "^4.2.3", | 136 | + "terser-webpack-plugin": "^5.1.1", |
| 139 | "thread-loader": "^3.0.1", | 137 | "thread-loader": "^3.0.1", |
| 140 | - "through2-filter": "^3.0.0", | 138 | + "ts-loader": "^8.0.15", |
| 141 | - "ts-loader": "^8.0.14", | ||
| 142 | "typescript": "^4.1.3", | 139 | "typescript": "^4.1.3", |
| 143 | - "url-loader": "^4.1.1", | ||
| 144 | "vue-html-loader": "^1.2.4", | 140 | "vue-html-loader": "^1.2.4", |
| 145 | "vue-loader": "^15.9.6", | 141 | "vue-loader": "^15.9.6", |
| 146 | "vue-style-loader": "^4.1.2", | 142 | "vue-style-loader": "^4.1.2", |
| 147 | "vue-template-compiler": "^2.6.12", | 143 | "vue-template-compiler": "^2.6.12", |
| 148 | - "webpack": "^4.44.2", | 144 | + "webpack": "^5.21.2", |
| 149 | - "webpack-cli": "^3.3.12", | 145 | + "webpack-cli": "^4.5.0", |
| 150 | "webpack-dev-server": "^3.11.2", | 146 | "webpack-dev-server": "^3.11.2", |
| 151 | "webpack-hot-middleware": "^2.25.0", | 147 | "webpack-hot-middleware": "^2.25.0", |
| 152 | "webpack-merge": "^5.7.3" | 148 | "webpack-merge": "^5.7.3" | ... | ... |
| 1 | // 这里是定义菜单的地方,详情请查看 https://electronjs.org/docs/api/menu | 1 | // 这里是定义菜单的地方,详情请查看 https://electronjs.org/docs/api/menu |
| 2 | import { dialog } from 'electron' | 2 | import { dialog } from 'electron' |
| 3 | import { type, arch, release } from 'os' | 3 | import { type, arch, release } from 'os' |
| 4 | -import { version } from '../../../package.json' | 4 | +import packageInfo from '../../../package.json' |
| 5 | 5 | ||
| 6 | const menu = [ | 6 | const menu = [ |
| 7 | { | 7 | { |
| ... | @@ -24,12 +24,12 @@ const menu = [ | ... | @@ -24,12 +24,12 @@ const menu = [ |
| 24 | } | 24 | } |
| 25 | }] | 25 | }] |
| 26 | }] | 26 | }] |
| 27 | -function info () { | 27 | +function info() { |
| 28 | dialog.showMessageBox({ | 28 | dialog.showMessageBox({ |
| 29 | title: '关于', | 29 | title: '关于', |
| 30 | type: 'info', | 30 | type: 'info', |
| 31 | message: 'electron-Vue框架', | 31 | message: 'electron-Vue框架', |
| 32 | - detail: `版本信息:${version}\n引擎版本:${process.versions.v8}\n当前系统:${type()} ${arch()} ${release()}`, | 32 | + detail: `版本信息:${packageInfo.version}\n引擎版本:${process.versions.v8}\n当前系统:${type()} ${arch()} ${release()}`, |
| 33 | noLink: true, | 33 | noLink: true, |
| 34 | buttons: ['查看github', '确定'] | 34 | buttons: ['查看github', '确定'] |
| 35 | }) | 35 | }) | ... | ... |
| ... | @@ -2,7 +2,7 @@ import { app, ipcMain, BrowserWindow, dialog } from 'electron' | ... | @@ -2,7 +2,7 @@ import { app, ipcMain, BrowserWindow, dialog } from 'electron' |
| 2 | import { join } from 'path' | 2 | import { join } from 'path' |
| 3 | import { arch, platform } from 'os' | 3 | import { arch, platform } from 'os' |
| 4 | import { stat, remove } from 'fs-extra' | 4 | import { stat, remove } from 'fs-extra' |
| 5 | -import { version } from '../../../package.json' | 5 | +import packageInfo from '../../../package.json' |
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | /** | 8 | /** |
| ... | @@ -19,7 +19,7 @@ class Main { | ... | @@ -19,7 +19,7 @@ class Main { |
| 19 | 19 | ||
| 20 | public mainWindow: BrowserWindow = null | 20 | public mainWindow: BrowserWindow = null |
| 21 | public downloadUrl: string = "" | 21 | public downloadUrl: string = "" |
| 22 | - public version: string = version | 22 | + public version: string = packageInfo.version |
| 23 | public baseUrl: string = '' | 23 | public baseUrl: string = '' |
| 24 | public Sysarch: string = arch().includes('64') ? 'win64' : 'win32' | 24 | public Sysarch: string = arch().includes('64') ? 'win64' : 'win32' |
| 25 | public HistoryFilePath = join(app.getPath('downloads'), platform().includes('win32') ? `electron_${this.version}_${this.Sysarch}.exe` : `electron_${this.version}_mac.dmg`) | 25 | public HistoryFilePath = join(app.getPath('downloads'), platform().includes('win32') ? `electron_${this.version}_${this.Sysarch}.exe` : `electron_${this.version}_mac.dmg`) | ... | ... |
此文件的差异太大,无法显示。
-
请 注册 或 登录 后发表评论