build.js 946 B

1234567891011121314151617181920212223242526272829303132
  1. // shelljs 执行 rm/cp/mkdir 等文件命令操作
  2. require('shelljs/global')
  3. var env = process.env.NODE_ENV
  4. var path = require('path')
  5. var config = require('../config')
  6. var webpack = require('webpack')
  7. var webpackConfig = require('./prod.conf.js')
  8. // 主要用来实现node.js命令行环境的loading效果,和显示各种状态的图标等
  9. var ora = require('ora')
  10. var spinner = ora('building for production...')
  11. spinner.start()
  12. //1、 把static资源 cp 到 dist/static 中。
  13. var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory)
  14. rm('-rf', assetsPath)
  15. mkdir('-p', assetsPath)
  16. cp('-R', 'static/*', assetsPath)
  17. //2、 src 打包到 dist
  18. webpack(webpackConfig, function(err, stats) {
  19. spinner.stop()
  20. if (err) throw err
  21. process.stdout.write(stats.toString({
  22. colors: true,
  23. modules: false,
  24. children: false,
  25. chunks: false,
  26. chunkModules: false
  27. }) + '\n')
  28. })