第三方包_resolve cwd - dkvirus/npm-resource-read GitHub Wiki

说明

获取模块的绝对路径。第三方模块,使用前先安装:$ npm install resolve-cwd

示例

const resolveCwd = require('resolve-cwd');

resolveCwd('./foo');               // 模块用相对路径表示 
resolveCwd('resolve-cwd');         // 模块用绝对路径表示
// resolve-cwd模块绝对路径,是个字符串:"/xxx/node_modules/resolve-cwd/index.js"

如果模块存在,返回值是个字符串,表示该模块的绝对路径。模块不存在,报错。

这里说的模块含义解释一下:Node 里引入其它模块使用 require() 方法,该方法参数可以是绝对路径 require('path'),也可以是相对路径 require('./index.js'),上面提到的 path./index.js 在 node 里都是指一个模块。简言之,resolveCwd() 接收的参数和 require() 接收的参数是一样样的。

上面写法如果模块不存在,会直接报错,阻断程序继续执行,下面提供 resolveCwd.silent() 方法作用域上面一样,返回模块绝对路径,区别是如果模块不存在,不会直接报错,只会返回 null,更加友好。

const resolveCwd = require('resolve-cwd');

resolveCwd.silent('resolve-cwd');