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 相关文章推荐
FusionCharts图表显示双Y轴双(多)曲线
Nov 22 Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
Jun 04 Javascript
js实现动态改变字体大小代码
Jan 02 Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 Javascript
JS实现定时自动关闭DIV层提示框的方法
May 11 Javascript
React复制到剪贴板的示例代码
Aug 22 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
Nov 28 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
May 13 Javascript
javascript实现图片轮换动作方法
Aug 07 Javascript
node脚手架搭建服务器实现token验证的方法
Jan 20 Javascript
使用原生javascript开发计算器实例代码
Feb 21 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
DOTA2 6.87版本后新眼位详解攻略
2020/04/20 DOTA
PHP 第二节 数据类型之转换
2012/04/28 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
Express.JS使用详解
2014/07/17 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
理解 JavaScript Scoping & Hoisting(二)
2015/11/18 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
jQuery表单选择器用法详解
2019/08/22 jQuery
javascript 构建模块化开发过程解析
2019/09/11 Javascript
使用Python构建Hopfield网络的教程
2015/04/14 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
flask入门之表单的实现
2018/07/18 Python
python实现简单加密解密机制
2019/03/19 Python
Django中的cookie和session
2019/08/27 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
运动会广播稿200字
2014/01/15 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
组工干部演讲稿
2014/09/02 职场文书
讲座新闻稿
2015/07/18 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
详解Python常用的魔法方法
2021/06/03 Python
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python