通过npm自定义命令行工具来创建带模板格式的文件(二)

新建一个文件夹,命名为:newwork

1
mkdir newwork

新建一个JS文件,命令为:newwork.js

      编辑如下:

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
49
50
51
52
53
54
55
56
57
58
#!/usr/bin/env node
const { sep, join, dirname } = require('path');
const { readFile, writeFile } = require('fs');


//获取执行命令的路径(即新创建文件的路径)
let fileDir = process.cwd()+ sep;

let fileDirTransaction = fileDir + "事务处理";

let fs = require('fs');

fs.mkdir(fileDirTransaction,(err)=>{
if(err){
console.log('事务处理 目录创建失败')
}else{
console.log('事务处理 目录创建成功')
}
})

let fileDir_creant_new1 = fileDirTransaction + sep + '1.Reference[参考资料]';
let fileDir_creant_new2 = fileDirTransaction + sep + '2.Collection[各级反馈]';
let fileDir_creant_new3 = fileDirTransaction + sep + '3.Output[结果输出]';
let fileDir_creant_new4 = fileDir_creant_new2 + sep + '0.Backups[备份]';


fs.mkdir(fileDir_creant_new1,(err)=>{
if(err){
console.log('1.Reference[参考资料] 目录创建失败')
}else{
console.log('1.Reference[参考资料] 目录创建成功')
}
})

fs.mkdir(fileDir_creant_new2,(err)=>{
if(err){
console.log('2.Collection[各级反馈] 目录创建失败')
}else{
console.log('2.Collection[各级反馈] 目录创建成功')
}
})

fs.mkdir(fileDir_creant_new3,(err)=>{
if(err){
console.log('3.Output[结果输出] 目录创建失败')
}else{
console.log('3.Output[结果输出] 目录创建成功')
}
})

fs.mkdir(fileDir_creant_new4,(err)=>{
if(err){
console.log('0.Backups[备份] 目录创建失败')
}else{
console.log('0.Backups[备份] 目录创建成功')
}
})

在newwork路径下初始化

1
npm init

      然后根据提示设置,完成该步操作后将为生成一个package.json,我们需要在里面添加命令,如下:

1
2
3
4
5
{
"bin": {
"new": "newwork.js"
}
}

      完整版如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"name": "newwork",
"version": "2.0.0",
"description": "newwork",
"main": "newwork.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"bin": {
"new": "newwork.js"
}
}

建立软链接,还是在newwork路径下

1
npm link

      该操作后,会在全局的npm包环境中帮我们建立一个软链,可以通下面的命令查询:

1
npm get prefix

如果要去除这个软链,执行下面的命令

1
npm unlink newwork

newwork离线包

------ 本文结束------