UNPKG

846 BJavaScriptView Raw
1let cmd = require('child_process').execSync
2let log = require('../utils/utils').log
3let fs = require('fs-extra')
4let Path = require('path')
5
6module.exports = async (name) => {
7 try {
8 // copy tpl/project
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 // write package.json
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 // npm install
30 log.info(`安装依赖中...`)
31 cmd(`cd ${Path.resolve(name)};pwd; npm install`, {stdio: [0, 1, 2]})
32
33}
\No newline at end of file