介绍一个小技巧获取node.js项目根目录,这个技巧非常实用。
假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。
在node.js只提供了一个dirname全局变量。通过dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。
首先import path from 'path'; (ES6)或var path = require('path');
path.join(dirname,'../')
即可获取到node.js的项目根目录。
path.join(dirname,'../app/img/favicon.ico')
即可获取目标文件。
由上面的例子可知,path.join将多个参数组合成一个 path,因此我们只需要参照路径表示方法合并即可。比如js文件在第三层目录,那么项目根目录就是path.join(__dirname,'../../../')。
path.resolve(".")
也可以直接获取项目根目录,只是使用这个方法在一些情况下存在问题,以前遇到过,想不起来了。
下面关于Node.js的内容你可能也喜欢: