You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
892 B
JavaScript
36 lines
892 B
JavaScript
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
|
|
|
|
let connect = require('connect')
|
|
let 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}`)
|
|
}
|