index.js 957 Bytes
const { run } = require("runjs");
const chalk = require("chalk");
const config = require("../vue.config.js");
const rawArgv = process.argv.slice(2);
const args = rawArgv.join(" ");

if (process.env.npm_config_preview || rawArgv.includes("--preview")) {
  const report = rawArgv.includes("--report");

  run(`vue-cli-service build ${args}`);

  const port = 9526;
  const publicPath = config.publicPath;

  var connect = require("connect");
  var serveStatic = require("serve-static");
  const app = connect();

  app.use(
    publicPath,
    serveStatic("./dist", {
      index: ["index.html", "/"],
    })
  );

  app.listen(port, function () {
    console.log(
      chalk.green(`> Preview at  http://localhost:${port}${publicPath}`)
    );
    if (report) {
      console.log(
        chalk.green(
          `> Report at  http://localhost:${port}${publicPath}report.html`
        )
      );
    }
  });
} else {
  run(`vue-cli-service build ${args}`);
}