当前位置:  开发笔记 > 编程语言 > 正文

获取未捕获的TypeError:使用Browserify与Nutritionix NodeJS客户端库时,fs.readdirSync不是一个函数

如何解决《获取未捕获的TypeError:使用Browserify与NutritionixNodeJS客户端库时,fs.readdirSync不是一个函数》经验,为你挑选了0个好方法。

我正在尝试使用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文件正常工作.如果我需要更多信息,请告知我们,非常感谢任何帮助.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有