uniapp-cli.js 1.2 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
#!/usr/bin/env node

const path = require('path')

const {
  error
} = require('@vue/cli-shared-utils')

const {
  initCustomScript
} = require('@dcloudio/uni-cli-shared/lib/package')

const Service = require('@vue/cli-service')

const yargsParser = require('yargs-parser')
const argv = yargsParser(process.argv.slice(2))
if (argv._[0] === 'custom') {
  const script = argv._[1]
  if (!script) {
    console.error(`请指定 package.json->uni-app->scripts 下的 script 名称`)
    process.exit(0)
  }
  const scriptOptions = initCustomScript(script, path.resolve(process.cwd(), 'package.json'))
  if (scriptOptions && scriptOptions.title) {
    // console.log('>' + scriptOptions.title)
  }
} else {
  console.error(`uniapp-cli custom script`)
  process.exit(0)
}

// @vue/cli-service/lib/Service.js
const service = new Service(process.env.VUE_CLI_CONTEXT || process.cwd())

const command = (
  process.env.NODE_ENV === 'development' &&
    process.env.UNI_PLATFORM === 'h5'
) ? 'uni-serve'
  : 'uni-build'

service.run(command, {
  watch: process.env.NODE_ENV === 'development',
  minimize: process.env.UNI_MINIMIZE === 'true',
  clean: false
}).catch(err => {
  error(err)
  process.exit(1)
})