1 | const path = require('path')
|
2 | const glob = require('glob')
|
3 | const fs = require('fs')
|
4 | const fse = require('fs-extra')
|
5 | const mkdirp = require('mkdirp')
|
6 | const MODE_0755 = parseInt('0755', 8)
|
7 |
|
8 | const {
|
9 | pathConfig: { template: tempatePath }
|
10 | } = require('./config.js')
|
11 |
|
12 | function mkdir (base, dir) {
|
13 | var loc = path.join(base, dir)
|
14 |
|
15 | console.log(' \x1b[36mcreate\x1b[0m : ' + loc + path.sep)
|
16 | mkdirp.sync(loc, MODE_0755)
|
17 | }
|
18 |
|
19 | function createApp (name, dir) {
|
20 | if (dir !== '.') {
|
21 | mkdir(dir, '.')
|
22 | }
|
23 |
|
24 | glob
|
25 | .sync(tempatePath + '/app/**')
|
26 | .filter(v => {
|
27 | let stat = fs.statSync(v)
|
28 | return !stat.isDirectory()
|
29 | })
|
30 | .forEach(v => {
|
31 | let filepath = v.slice((tempatePath + '/app').length)
|
32 | let targetfile = path.join(dir, filepath)
|
33 | fse.ensureFileSync(targetfile)
|
34 | fse.copyFileSync(v, targetfile)
|
35 | })
|
36 |
|
37 | console.log('[Create App]: Success, 愉快的Coding吧!!!')
|
38 | }
|
39 |
|
40 | module.exports = createApp
|