Node.js中的require.resolve方法使用简介


Posted in Javascript onApril 23, 2017

前言

网上关于NodeJs的论述很多,此处不多说。个人认为,NodeJs的编程思想和客户端Javascript保持了一种理念,没有什么变化,只是增加了“require()”函数,因此只要学好require函数,剩下的问题就是如何更好的使用API了。本文则主要介绍了Node.js中的require.resolve方法,下面来看看详细介绍吧。

简单的说,在 Node.js 中使用 fs 读取文件的时候,经常碰到要拼一个文件的绝对路径的问题 (fs 处理相对路径均以进程执行目录为准)。

之前一直的方法都是,使用 path 模块以及 __dirname 变量 。

代码如下所示:

fs.readFileSync(path.join(__dirname, './assets/some-file.txt'));

使用 require.resolve 可以简化这一过程

示例代码:

fs.readFileSync(require.resolve('./assets/some-file.txt'));

此外, require.resolve 还会在拼接好路径之后检查该路径是否存在, 如果 resolve 的目标路径不存在, 就会抛出 Cannot find module './some-file.txt' 的异常. 省略了一道检查文件是否存在的工序 (fs.exists).

这个报错并不会加重你的检查负担, 毕竟使用 fs 去操作文件时, 如果发现文件不存在也会抛出异常. 反之, 通过 require.resovle 可以在提前在文件中作为常量定义, 那么在应用启动时就可以抛异常, 而不是等到具体操作文件的时候才抛异常.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JavaScrip单线程引擎工作原理分析
Sep 04 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
Jan 15 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
Dec 10 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
Bootstrap的图片轮播示例代码
Aug 31 Javascript
jQuery Validate初步体验(一)
Dec 12 Javascript
json格式的javascript对象用法分析
Jul 04 Javascript
值得学习的bootstrap fileinput文件上传工具
Nov 08 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
Aug 28 Javascript
vue页面切换到滚动页面显示顶部的实例
Mar 13 Javascript
理理Vue细节(推荐)
Apr 16 Javascript
JS实现提示框跟随鼠标移动
Aug 27 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
Apr 22 #Javascript
vue拦截器Vue.http.interceptors.push使用详解
Apr 22 #Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
Apr 22 #Javascript
Vue.use源码分析
Apr 22 #Javascript
uploader秒传图片到服务器完整代码
Apr 22 #Javascript
Node.js中看JavaScript的引用
Apr 22 #Javascript
详解Angular中的自定义服务Service、Provider以及Factory
Apr 22 #Javascript
You might like
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
PHP自动生成后台导航网址的最佳方法
2013/08/27 PHP
php实现从上传文件创建缩略图的方法
2015/04/02 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
php测试kafka项目示例
2020/02/06 PHP
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
JS本地刷新返回上一页代码
2016/07/25 Javascript
微信小程序 scroll-view 实现锚点跳转功能
2019/12/12 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[52:07]完美世界DOTA2联赛PWL S3 LBZS vs access 第二场 12.10
2020/12/13 DOTA
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
解决Tensorboard 不显示计算图graph的问题
2020/02/15 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
社区活动邀请函范文
2014/01/29 职场文书
初一学生评语大全
2014/04/24 职场文书
医院合作协议书
2014/08/19 职场文书
运动会闭幕词
2015/01/28 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
会议室管理制度范本
2015/08/06 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python