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 相关文章推荐
始终在屏幕中间显示Div的代码(css+js)
Mar 10 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
Jun 23 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
Jul 18 Javascript
jQuery实现的多级下拉菜单效果代码
Aug 24 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
Jan 27 Javascript
全面详细的jQuery常见开发技巧手册
Feb 21 Javascript
AngularJs expression详解及简单示例
Sep 01 Javascript
JS时间控制实现动态效果的实例讲解
Jul 31 Javascript
微信小程序三级联动选择器使用方法
May 19 Javascript
Vue 动态设置路由参数的案例分析
Apr 24 Javascript
Vue 中对图片地址进行拼接的方法
Sep 03 Javascript
自己动手封装一个React Native多级联动
Sep 19 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
php,ajax实现分页
2008/03/27 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
比较搞笑的js陷阱题
2010/02/07 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
Python可迭代对象操作示例
2019/05/07 Python
Django中的用户身份验证示例详解
2019/08/07 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
Python字符串的修改方法实例
2019/12/19 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
服务员岗位职责
2014/01/29 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
关于 Python json中load和loads区别
2021/11/07 Python
MySQL中varchar和char类型的区别
2021/11/17 MySQL
Python制作表白爱心合集
2022/01/22 Python