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 相关文章推荐
xml和web特殊字符
Apr 28 Javascript
基于jquery的划词搜索实现(备忘)
Sep 14 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
May 02 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
Jun 07 Javascript
获取input标签的所有属性的方法
Jun 28 Javascript
AngularJS延迟加载html template
Jul 27 Javascript
轻松掌握JavaScript代理模式
Aug 26 Javascript
Vue.js Ajax动态参数与列表显示实现方法
Oct 20 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
Mar 19 Javascript
vue中的非父子间的通讯问题简单的实例代码
Jul 19 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
Jul 27 Javascript
用npm-run实现自动化任务的方法示例
Jan 14 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判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
JS实现拼图游戏
2021/01/29 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
python中嵌套函数的实操步骤
2019/02/27 Python
Django REST framework 分页的实现代码
2019/06/19 Python
Python socket 套接字实现通信详解
2019/08/27 Python
python numpy中cumsum的用法详解
2019/10/17 Python
Python 下载及安装详细步骤
2019/11/04 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
教师的实习自我鉴定
2013/12/17 职场文书
组工干部对照检查材料
2014/08/25 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
如何利用js在两个html窗口间通信
2021/04/27 Javascript
ORACLE查看当前账号的相关信息
2021/06/18 Oracle