当我将 Cloud Function 部署到 GCP(用 Node.js 编写)时,如何查看我的文件系统环境以进行调试?如果我想知道我当前的目录是什么或者我的应用程序旁边有哪些文件怎么办?
当我们部署 Cloud Function 时,就会出现完整的 Node.js 环境。我们可以在其中运行任意 Node.js 逻辑。这包括随后将显示在 Stackdriver 日志中的日志信息。因此,我们可以记录当前工作目录路径以及当前目录中所有文件的列表。我们可以用它作为诊断辅助工具。这是一个例子:
const fs = require('fs');
exports.helloWorld = (req, res) => {
console.log(`CWD: ${process.cwd()}`);
fs.readdir('.', function (err, files) {
if (err) {
return console.log('Unable to scan directory: ' + err);
}
files.forEach(function (file) {
console.log(file);
});
res.status(200).send('Done!');
});
};
您可以将此逻辑合并到您自己的应用程序中进行测试。
这是一个替代版本,显示所有文件和子目录的递归列表。
const fs = require('fs');
const walk = function(dir) {
var results = [];
var list = fs.readdirSync(dir);
list.forEach(function(file) {
file = dir + '/' + file;
var stat = fs.statSync(file);
if (stat && stat.isDirectory()) {
results = results.concat(walk(file));
} else {
results.push(file);
}
});
return results;
}
exports.helloWorld = (req, res) => {
let message = req.query.message || req.body.message || 'Hello World!';
console.log(`CWD: ${process.cwd()}`);
console.log(`Dir Listing: ${walk('.')}`);
res.status(200).send('Done!');
};
全部归功于上述算法node.js fs.readdir 递归目录搜索 https://stackoverflow.com/questions/5827612/node-js-fs-readdir-recursive-directory-search.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)