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 相关文章推荐
Prototype使用指南之array.js
Jan 10 Javascript
js 创建书签小工具之理论
Feb 25 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
Feb 03 Javascript
javascript多物体运动实现方法分析
Jan 08 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
Apr 06 Javascript
jquery-mobile表单的创建方法详解
Nov 23 Javascript
windows下vue-cli及webpack搭建安装环境
Apr 25 Javascript
推荐15个最好用的JavaScript代码压缩工具
Feb 13 Javascript
js控制随机数生成概率代码实例
Mar 21 Javascript
JS替换字符串中指定位置的字符(多种方法)
May 28 Javascript
基于javascript处理nginx请求过程详解
Jul 07 Javascript
vue项目中js-cookie的使用存储token操作
Nov 13 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 数学运算验证码实现代码
2009/10/11 PHP
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
javascript瀑布流式图片懒加载实例解析与优化
2016/02/23 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
德国最大的拼图在线商店:Puzzle.de
2016/12/17 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
师德学习感言
2014/01/31 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
房屋质量投诉书
2015/07/02 职场文书
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers