我无法理解如何在Node.js Expresss Webapp中访问本地文件。
我想使用excel-parser包来读取我放在/ public / assets /中的文件,这应该在索引页面加载时读取。
所以我开始创建ExpressJS应用程序,并在index.js中创建以下内容:
exports.index = function(req, res){
var excelParser = require('excel-parser')
res.render('index', { title: 'Excel test' });
excelParser.worksheets({
inFile: '/assets/test_data.xlsx'
}, function(err, worksheets){
if(err) console.error(err);
console.log('[INFO] Worksheet output: ');
console.log(worksheets);
});
};
在ny控制台中虽然收到错误“找不到文件”,但“工作表”未定义。
我也试过以下路径:
所有提供相同的错误。
答案 0 :(得分:1)
您需要相对于您的app根目录获取文件。现在,'/ assest'会尝试从驱动器的根目录获取它。
您可以在模块的早期获取主JS文件的根目录:
var path = require('path');
var root = path.dirname(require.main.filename);
然后使用它:
inFile: root + '/public/assets/test_data.xlsx'