From 8a934f81b0a2ba8b893df3a0a29772f344b1f933 Mon Sep 17 00:00:00 2001 From: 1549469775 <1549469775@qq.com> Date: Tue, 27 Jul 2021 11:54:58 +0800 Subject: [PATCH] build --- script/build.ts | 18 ++++++++++-------- script/dev-runner.ts | 3 +-- script/webpack/runMain.js | 35 +++++++++++++++++++++++++++++++++-- script/webpack/webpack.main.config.js | 5 +++-- 4 files changed, 47 insertions(+), 14 deletions(-) diff --git a/script/build.ts b/script/build.ts index ff0fa09..14c142f 100644 --- a/script/build.ts +++ b/script/build.ts @@ -8,6 +8,8 @@ import * as ora from "ora" import * as chalk from "chalk" import * as minimist from "minimist" +const {buildMain} = require("./webpack/runMain") + import { exec, spawn, ChildProcess } from "child_process" import { watch, rollup, OutputOptions } from "rollup" import { waitOn } from "./utils" @@ -62,14 +64,14 @@ function tscCheck() { } }) } -async function buildMain() { - try { - const build = await rollup(opts) - build.write(opts.output as OutputOptions) - } catch (error) { - console.log(`\n${TAG} ${chalk.red("构建报错")}\n`, error, "\n") - } -} +// async function buildMain() { +// try { +// const build = await rollup(opts) +// build.write(opts.output as OutputOptions) +// } catch (error) { +// console.log(`\n${TAG} ${chalk.red("构建报错")}\n`, error, "\n") +// } +// } function buildElectron() { return new Promise((resolve, reject) => { diff --git a/script/dev-runner.ts b/script/dev-runner.ts index d2e9d58..17074e9 100644 --- a/script/dev-runner.ts +++ b/script/dev-runner.ts @@ -13,8 +13,7 @@ import { watch, rollup, OutputOptions } from "rollup" import { waitOn } from "./utils" import options from "./rollup.config" -const startMain = require("./webpack/runMain") -console.log(startMain); +const {startMain} = require("./webpack/runMain") // 注入环境变量 dotenv.config({ path: join(__dirname, "../.env") }) diff --git a/script/webpack/runMain.js b/script/webpack/runMain.js index 1855dc4..9d05001 100644 --- a/script/webpack/runMain.js +++ b/script/webpack/runMain.js @@ -36,7 +36,34 @@ function logStats (proc, data) { console.log(log) } -module.exports = function startMain (callback) { +function buildMain () { + return new Promise((resolve, reject) => { + mainConfig.mode = 'production' + webpack(mainConfig, (err, stats) => { + if (err) reject(err.stack || err) + else if (stats.hasErrors()) { + let err = '' + + stats.toString({ + chunks: false, + colors: true + }) + .split(/\r?\n/) + .forEach(line => { + err += ` ${line}\n` + }) + + reject(err) + } else { + resolve(stats.toString({ + chunks: false, + colors: true + })) + } + }) + }) +} +function startMain (callback) { return new Promise((resolve, reject) => { mainConfig.entry.main = [path.join(__dirname, '../../src/main/index.ts')]//.concat(mainConfig.entry.main) mainConfig.mode = 'development' @@ -56,12 +83,16 @@ module.exports = function startMain (callback) { logStats('Main', stats) - callback&&callback() + callback && callback() resolve() }) }) } +module.exports = { + startMain, + buildMain, +} function electronLog (data, color) { diff --git a/script/webpack/webpack.main.config.js b/script/webpack/webpack.main.config.js index 8d6628d..6ef6b12 100644 --- a/script/webpack/webpack.main.config.js +++ b/script/webpack/webpack.main.config.js @@ -29,9 +29,10 @@ let mainConfig = { } ] }, + // https://www.webpackjs.com/configuration/node/ node: { - __dirname: process.env.NODE_ENV !== 'production', - __filename: process.env.NODE_ENV !== 'production' + // __dirname: process.env.NODE_ENV !== 'production', // 不转化为字符串 + // __filename: process.env.NODE_ENV !== 'production' // 不转化为字符串 }, output: { filename: 'entry.js', // [name]