From 50f8ec743f008aa74b9790113fb687a24e76ad31 Mon Sep 17 00:00:00 2001 From: NewFuture Date: Tue, 25 Jun 2019 20:18:58 +0800 Subject: [PATCH] feat(cli): production mode and rollup --- README.md | 9 +++++---- bin/mp-build.js | 10 +++++++--- package.json | 1 + src/config.js | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 27de5d0..7b34ab4 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ npm build npm dependencies to dist <编译npm依赖> ``` --version show version number <查看本版号> [boolean] - --release production mode <发布模式会优化压缩> [boolean] [default: false] + --production production mode <发布模式会优化压缩> [boolean] [default: false] --src source folder <源文件目录> [string] [default: "src"] --dist output folder <编译输出目录> [string] [default: "dist"] --exclude ignored files <编译忽略文件(夹)> [array] @@ -80,10 +80,11 @@ npm build npm dependencies to dist <编译npm依赖> npx miniprogram-build --config=config.dev.json ``` -- 使用`config.prod.json`生产环境开启优化重新编译,rebuild for production release with `config.prod.json` +- 使用`config.prod.json`生产环境开启优化重新编译,rebuild for production with `config.prod.json` +> 如果 `production` 参数未指定, 环境变量中 NODE_ENV 为 `production`或`prod`时同样置为 `true` ```bash -npx miniprogram-build build --config=./config.prod.json --release +npx miniprogram-build build --config=./config.prod.json --production ``` - 编译替换`{{APP_ID}}`为1234567, compile the source and replace template var _{_*{*`APP_ID`*}*_}_ with 123456 @@ -94,7 +95,7 @@ npx miniprogram-build compile --var.APP_ID=1234567 ```json { - "release": false, + "production": false, "src": "src", "dist": "dist", "assets": "assets", diff --git a/bin/mp-build.js b/bin/mp-build.js index c6ef699..d7eb61b 100644 --- a/bin/mp-build.js +++ b/bin/mp-build.js @@ -28,11 +28,12 @@ var argv = require("yargs") .alias("h", "help") .describe("version", od(`show version number ${odc("<查看本版号>")}`)) .epilog(colors.italic(colors.gray("2018 - " + new Date().getFullYear()) + " " + colors.cyan.dim("@ NewFuture"))) - .option("release", { + .option("production", { describe: od(`production mode ${odc("<发布模式会优化压缩>")}`), - default: false, + default: process.env.NODE_ENV === "production" || process.env.NODE_ENV === "prod", boolean: true, }) + .alias("production", "release") .option("src", { describe: od(`source folder ${odc("<源文件目录>")}`), default: "src", @@ -101,10 +102,13 @@ var argv = require("yargs") Object.assign(config.default, argv, { $0: undefined, _: undefined }); -// console.log(argv['config']) +console.log(argv['config']) if (argv._.length === 1 && argv._[0] === "init") { config.save(config.default); } else { + if (config.default.production) { + process.env.NODE_ENV = "production" + } const tasks = require("../src/task") tasks.$execute(argv._.length === 0 ? ["dev"] : argv._); } diff --git a/package.json b/package.json index 3ef35a5..e58bb9e 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,7 @@ "yargs": "^13.2.4" }, "optionalDependencies": { + "rollup-plugin-replace": "^2.2.0", "rollup-plugin-typescript": "^1.0.0", "rollup-plugin-commonjs": "^10.0.0", "rollup-plugin-node-resolve": "^5.0.0", diff --git a/src/config.js b/src/config.js index cc9363c..4d87d54 100644 --- a/src/config.js +++ b/src/config.js @@ -94,7 +94,7 @@ module.exports.auto = autoLoad; */ module.exports.default = { // debug: true, - release: false, + production: false, src: 'src', dist: 'dist', assets: 'assets',