nodejs 之创建文件
创建文件专注前端4年,一直以来奋战在搬砖的一线,从事着后台系统、PC端、移动端的开发,然而市场的发展速度确实让人有些许瞠目结舌,前端框架层出不穷,无论是 JS 框架(react.js、vue.js 、angular.js 、react-native、veex……) 还是 UI 框架(Bootstrap、elementUI、iView、vuetify、at-ui、flutter……) 都让我们的..
·
创建文件
专注前端4年,一直以来奋战在搬砖的一线,从事着后台系统、PC端、移动端的开发,然而市场的发展速度确实让人有些许瞠目结舌,前端框架层出不穷,无论是 JS 框架(react.js、vue.js 、angular.js 、react-native、veex……) 还是 UI 框架(Bootstrap、elementUI、iView、vuetify、at-ui、flutter……) 都让我们的大脑不够用,并且每个公司的技术选型和业务不同,所选择的框架都不同,然而苦逼的我们没有办法学会所有,只有在入职公司要啥,我们就快速的学习啥,枪指哪儿,我们就打哪儿。最近准备横向发展一下自己,了解一下被炒的很热但实际市场用的又不是特别多,但是作为一个合格的前端开发人员必须掌握的知识——nodejs。我会将一些平时学习基础资料整理,顺便当做笔记记录一下,和大家一起分享学习。
fs 模块创建文件
// mkdir.js
const mkdir = require("./module");
mkdir("demo/test", err => {
console.log(err);
});
mkdir("demo01", err => {
console.log(err);
});
mkdir("demo02/demo03/demo04", err => {
console.log(err);
});
自定义创建文件 modules
// modules.js
const fs = require("fs");
const path = require("path");
function mkdirs(pathname, callback) {
// 需要判断是否是绝对路径(避免不必要的bug)
pathname = path.isAbsolute(pathname) ? pathname : path.join(__dirname, pathname);
// 获取相对路径
pathname = path.relative(__dirname, pathname);
let floders = pathname.split(path.sep); // path.sep 避免平台差异带来的bug
let pre = "";
floders.forEach(floder => {
try {
// 没有异常,文件已经创建,提示用户改文件已经创建
let _stat = fs.statSync(path.join(__dirname, pre, floder));
let hasMkdir = _stat && _stat.isDirectory();
if (hasMkdir) {
callback && callback(`文件${floder}已经存在,不能重复创建,请重新创建`);
}
} catch (error) {
// 抛出异常,文件不存在则创建文件
try {
// 避免父文件还没有创建的时候先创建子文件所出现的意外bug,这里选择同步创建文件
fs.mkdirSync(path.join(__dirname, pre, floder));
callback && callback(null);
} catch (error) {
callback && callback(error);
}
}
pre = path.join(pre, floder); // 路径拼合
});
}
module.exports = mkdirs;
小结
注释已经写得很清楚了,就不过多的解释了,仅仅是学习笔记,相对简单易懂,希望各位看官可以提供更好的方法以供参考,不喜勿喷……
其它前端学习资料和文章如下
其它前端性能优化:
- 图片优化——质量与性能的博弈
- 浏览器缓存机制介绍与缓存策略剖析
- webpack 性能调优与 Gzip 原理
- 本地存储——从 Cookie 到 Web Storage、IndexDB
- CDN 的缓存与回源机制解析
- 服务端渲染的探索与实践
- 解锁浏览器背后的运行机制
- DOM 优化原理与基本实践
- Event Loop 与异步更新策略
- 回流(Reflow)与重绘(Repaint)
- Lazy-Load
- 事件的节流(throttle)与防抖(debounce
- 前端学习资料下载
- 技术体系分类
前端技术架构体系(没有链接的后续跟进):
- 调用堆栈
- 作用域闭包
- this全面解析
- 深浅拷贝的原理
- 原型prototype
- 事件机制、
- Event Loop
- Promise机制、
- async / await原理、
- 防抖/节流原理
- 模块化详解、
- es6重难点、
- 浏览器熏染原理
- webpack配置(原理)
- 前端监控、
- 跨域和安全、
- 性能优化
- VirtualDom原理、
- Diff算法、
- 数据的双向绑定
- [TCP协议(三次握手、四次挥手)](https://blog.csdn.net/woleigequshawanyier/article/details/85223642
- DNS域名解析
其它相关
更多推荐
已为社区贡献3条内容
所有评论(0)