我正在尝试使用Node构建一个演示应用程序,并且我一直收到Uncaught TypeError:尝试使用Nutrionix NodeJS客户端库时,fs.readdirSync不是函数错误(https://github.com/nutritionix/nodejs-client-库)和Browserify.
我正在遵循本教程http://www.sitepoint.com/getting-started-browserify/直到使用Browserify输出部分,而不是使用Underscore和为main.js提供的代码,我正在使用Nutritionix NodeJS客户端库和main.js中的以下代码:
var NutritionixClient = require('nutritionix'); var nutritionix = new NutritionixClient({ appId: '7c710fbd', appKey: 'a2f106128aa4b2ab81fd783fca5bf0ee' // debug: true, // defaults to false });
我使用Jade的HTML如下:
doctype html html head title= title link(rel='stylesheet', href='/stylesheets/style.css') body block content script(src='javascripts/nutri.js') script(src='javascripts/main.js')
我在命令行中使用以下命令来构建一个使用Nutritionix的新JavaScript文件:
browserify public/javascripts/main.js -o public/javascripts/nutri.js
当我在本地运行时,在控制台中,我得到Uncaught TypeError:fs.readdirSync不是nutri.js第465行中的函数,这是Browserify生成的文件.该行是以下函数中的第四行:
function readDirp(path, excludeList) { var lib = {}; var expand = new Expander(path); var files = fs.readdirSync(path).map(expand); files.forEach(function(file){ if (excluded(file.name, excludeList) === false) { lib[file.name.split('.').shift()] = require(file.location); } }); return lib; }
我不知道为什么我一直收到这个错误.当我浏览我在顶部链接的Browserify教程时,我可以使Browserified文件正常工作.如果我需要更多信息,请告知我们,非常感谢任何帮助.