From 3755693be0be520deaf92d566f7e5e00d71fdcf5 Mon Sep 17 00:00:00 2001 From: zhoudw <zhoudw@infobird.com> Date: Mon, 10 Jan 2022 15:50:59 +0800 Subject: [PATCH] 打包 --- build/build.js | 60 +++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 35 insertions(+), 25 deletions(-) diff --git a/build/build.js b/build/build.js index 8f2ad8a..5e2a888 100644 --- a/build/build.js +++ b/build/build.js @@ -2,6 +2,7 @@ require('./check-versions')() process.env.NODE_ENV = 'production' +process.env.NODE_ENV_SELF = 'production' const ora = require('ora') const rm = require('rimraf') @@ -10,32 +11,41 @@ const webpack = require('webpack') const config = require('../config') const webpackConfig = require('./webpack.prod.conf') - +const configFilePath = './static/config.js' const spinner = ora('building for production...') spinner.start() - -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - if (err) throw err - webpack(webpackConfig, (err, stats) => { - spinner.stop() + //读取配置文件 +const CONFIG_ENV = require('../config/prod.env') +const fs = require('fs') + //组装配置文件内容 +let CONFIG_ENV_STRING = ''; +for (let i in CONFIG_ENV) { + CONFIG_ENV_STRING += i + ':' + CONFIG_ENV[i] + ',' +} +const BUILD_DEV = `let config={${CONFIG_ENV_STRING}};module.exports = config;` +fs.writeFileSync(configFilePath, BUILD_DEV) +rm(path.join(config.build_dev.assetsRoot, config.build_dev.assetsSubDirectory), err => { if (err) throw err - process.stdout.write(stats.toString({ - colors: true, - modules: false, - children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build. - chunks: false, - chunkModules: false - }) + '\n\n') - - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - - console.log(chalk.cyan(' Build complete.\n')) - console.log(chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - ' Opening index.html over file:// won\'t work.\n' - )) - }) + webpack(webpackConfig, (err, stats) => { + spinner.stop() + if (err) throw err + process.stdout.write(stats.toString({ + colors: true, + modules: false, + children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build. + chunks: false, + chunkModules: false + }) + '\n\n') + if (stats.hasErrors()) { + console.log(chalk.red(' Build failed with errors.\n')) + process.exit(1) + } + //删除配置文件 + fs.unlinkSync(configFilePath); + console.log(chalk.cyan(' Build complete.\n')) + console.log(chalk.yellow( + ' Tip: built files are meant to be served over an HTTP server.\n' + + ' Opening index.html over file:// won\'t work.\n' + )) + }) }) -- Gitblit v1.8.0