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 相关文章推荐
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
Mar 21 Javascript
javascript实现设置、获取和删除Cookie的方法
Jun 01 Javascript
js读取并解析JSON类型数据的方法
Nov 14 Javascript
JSON+Jquery省市区三级联动
Jan 13 Javascript
jQuery Mobile 和 Kendo UI 的比较
May 05 Javascript
TableSort.js表格排序插件使用方法详解
Feb 10 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
Jan 15 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
浅谈react性能优化的方法
Sep 05 Javascript
基于Vue的商品主图放大镜方案详解
Sep 19 Javascript
vue实现前端分页完整代码
Jun 17 Javascript
vue ant design 封装弹窗表单的使用
Jun 01 Vue.js
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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
让ie运行js时提示允许阻止内容运行的解决方法
2010/10/24 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
2017/01/13 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
vue如何引入sass全局变量
2018/06/28 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
马来西亚网上购物平台:ezbuy
2018/02/13 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
一年级班主任感言
2014/03/08 职场文书
销售经理竞聘书
2014/03/31 职场文书
工作失误检讨书范文
2015/01/26 职场文书
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers