diff --git a/build/build-lib.js b/build/build-lib.js
index af11f5aa6..adbfb3bf3 100644
--- a/build/build-lib.js
+++ b/build/build-lib.js
@@ -3,17 +3,22 @@
  */
 const shell = require('shelljs');
 const signale = require('signale');
+const { Signale } = signale;
 const tasks = [
+  'bootstrap',
   'lint',
   'build:entry',
   'build:components',
   'build:vant-css',
-  'build:vant',
-  'build:style-entry'
+  'build:style-entry',
+  'build:vant'
 ];
 
 tasks.forEach(task => {
-  signale.pending(task);
+  signale.start(task);
+
+  const interactive = new Signale({ interactive: true });
+  interactive.pending(task);
   shell.exec(`npm run ${task} --silent`);
-  signale.success(task);
+  interactive.success(task);
 });
diff --git a/package.json b/package.json
index 1f02dbb60..fd8dd22fa 100644
--- a/package.json
+++ b/package.json
@@ -18,12 +18,12 @@
     "lint": "eslint ./packages --ext .js,.vue && stylelint \"packages/vant-css/src/*.css\"",
     "build:file": "node build/build-entry.js",
     "build:components": "node build/build-components.js --color",
-    "build:vant-css": "gulp build --gulpfile packages/vant-css/gulpfile.js --color",
+    "build:vant-css": "gulp build --gulpfile packages/vant-css/gulpfile.js --color --silent",
     "build:vant": "cross-env NODE_ENV=production webpack --color --config build/webpack.build.js && cross-env NODE_ENV=production webpack -p --color --config build/webpack.build.js",
     "build:style-entry": "node build/build-style-entry.js",
     "build:changelog": "sh build/build-changelog.sh",
     "build:iconfont": "gulp --gulpfile ./build/build-iconfont.js",
-    "build:lib": "npm run bootstrap && node build/build-lib.js",
+    "build:lib": "node build/build-lib.js",
     "build:site": "rimraf docs/dist && cross-env NODE_ENV=production webpack --config build/webpack.doc.js && gh-pages -d docs/dist",
     "test": "jest",
     "test:watch": "jest --watch",