除了process.cwd()之外,是否有其他方法来获取当前项目根目录的路径名。Node是否实现了ruby的属性Rails.root之类的东西。我要找的是稳定可靠的东西。
当前回答
const __root = `${__dirname.substring(0, __dirname.lastIndexOf('projectName'))}projectName`
`
其他回答
我知道这已经太迟了。 但我们可以通过两个方法获取根URL
1号方法
var path = require('path');
path.dirname(require.main.filename);
2方法
var path = require('path');
path.dirname(process.mainModule.filename);
参考链接:—https://gist.github.com/geekiam/e2e3e0325abd9023d3a3
你可以简单地在express app变量中添加根目录路径,并从app中获取这个路径。在index.js或app.js文件中。并使用req.app.get('rootDirectory')在代码中获取根目录路径。
你也可以使用 Git rev-parse——show- topllevel 假设您正在使用git存储库
如果你想从一个正在运行的node.js应用程序中确定项目根,你也可以简单地这样做。
process.mainModule.path
path.dirname(process.mainModule.filename);
推荐文章
- 在用nodejs和express创建的REST API中设置响应状态和JSON内容的正确方法
- 如何获得请求路径与表达请求对象
- 节点和错误:EMFILE,打开的文件太多
- 没有定义Electron require()
- 在摩卡测试时调用异步函数如何避免超时错误:超时超过2000ms
- package.json中属性“private”的目的是什么?
- 用套接字发送消息到指定客户端。IO和node.js
- 当我运行' npm install '时,它返回' ERR!代码EINTEGRITY ' (npm 5.3.0)
- 我如何使用Node.js Crypto创建HMAC-SHA1哈希?
- 如何在package.json中使用“main”参数?
- NPM清洁模块
- 在Node.js中加载基本HTML
- Node.js和CPU密集型请求
- 为什么在节点REPL中没有定义__dirname ?
- 在Node.js中克隆对象