Node.js中的require.resolve方法使用简介
前言
网上关于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 可以在提前在文件中作为常量定义, 那么在应用启动时就可以抛异常, 而不是等到具体操作文件的时候才抛异常.
总结
上一篇:node.js中的console.timeEnd方法使用说明
栏 目:NodeJS
下一篇:Windows 系统下安装和部署Egret的开发环境
本文标题:Node.js中的require.resolve方法使用简介
本文地址:http://www.codeinn.net/misctech/49153.html