第三方包_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');