1 | let cmd = require('child_process').execSync
|
2 | let log = require('../utils/utils').log
|
3 | let fs = require('fs-extra')
|
4 | let Path = require('path')
|
5 |
|
6 | module.exports = async (name) => {
|
7 | try {
|
8 |
|
9 | if (fs.existsSync(name)) {
|
10 | log.error('创建失败,目录已存在')
|
11 | return
|
12 | }
|
13 | await fs.copySync(Path.join(__dirname, '../tpl/project'), Path.resolve(`${name}`))
|
14 |
|
15 |
|
16 | let pkgPath = Path.resolve(`${name}/package.json`)
|
17 | let pkg = require(pkgPath)
|
18 | pkg.name = name
|
19 | fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 4))
|
20 |
|
21 |
|
22 | log.info(`创建目录成功`)
|
23 | }
|
24 | catch (err) {
|
25 | console.log(err)
|
26 | log.error('创建目录失败')
|
27 | return
|
28 | }
|
29 |
|
30 | log.info(`安装依赖中...`)
|
31 | cmd(`cd ${Path.resolve(name)};pwd; npm install`, {stdio: [0, 1, 2]})
|
32 |
|
33 | } |
\ | No newline at end of file |