watch.watchTree(src, {
filter: (filePath) => {
// 过滤不需要被监听的文件和文件夹
// ...
}
}, (f, curr, prev) => {
if (typeof f == "object" && prev === null && curr === null) {
// Finished walking the tree
} else if (prev === null) {
// f is a new file
} else if (curr.nlink === 0) {
// f was removed
} else {
// f was changed
}
});
脚手架的开发总结
前言
最近在做一个脚手架的项目,涉及到了一些关于nodeJS端的操作。网上找了很多资源,以及一些设想,都在此处记录下来,作为一种总结。
正文
脚手架指令的构建
命令行指令操作时,需要使用到以下几个包:
首先,创建一个简单的CLI脚本文件run,如下:
然后在package.json中添加配置,如下:
之后,建立一个link,如下:
然后,逐个建立脚手架命令。例如create命令,如下:
最后,在package.json中指明command地址,如下:
nodeJS路径问题
编写脚手架的过程中,路径问题经常容易出错。下面总结了一些nodeJS中常常会使用到的路径变量:
下面是一些实验的数据结果,如下:
执行结果:
监听文件
此处使用到的npm是watch。
一般使用函数watch.watchTree(root)。在脚手架中,我们往往需要监听一些文件的改动情况,如下:
之后,我们需要对于新增文件、删除文件和文件改变中作出操作。
node端的登录和上传
此处使用到的npm是request。
在登录请求和上传文件的过程中,我们需要使用到formData来进行上传,但是nodeJS并无FormData的对象,所以,这里就要涉及到使用request来进行上传了。
同理,上传文件时,也可以通过form表单的形式上传上去。但是,一般文件上传的接口都需要登录,所以需要在带上cookie。