jjzjj

javascript - Node JS 需要抛出 AssertionError : missing path

coder 2023-05-04 原文

我有一个用 node.js 编写的简单应用程序:

var mongo   = require('./helpers/mongo_utils.js');
var express = require('express');
var user = require('./models/users.js');

mongo.connect(function (err)
{
  if (err) throw err;
  console.log('connected');

  var app = express();
  app.listen(3000, function ()
    {
      console.log('Server set up and start listening on port 3000');
    })
})

除非我需要 users.js 文件,否则一切正常。如果我不需要它,我没有问题,但是当我这样做时,我会收到此错误:

assert.js:89
  throw new assert.AssertionError({
  ^
AssertionError: missing path
    at Module.require (module.js:363:3)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/jimzer--jimzer/www/NodeJsForum/models/users.js:1:79)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/jimzer--jimzer/www/NodeJsForum/app.js:3:12)

如果有帮助,这里是 users.js 的代码:

var mongo     = require('') = ('./../helpers/mongo_utils.js');
var mailValid = require('./../helpers/email_valid.js');

var db = mongo.getDb();

var User = function (pseudo, psw, mail, level, callback)
{
  // Params checking
  if (!(pseudo && psw && mail && (level != 'undefined')))
  {
    err = new Error("All fields aren't specified"); err.code = 0;
    return callback(err);
  }
  // Mail validation
  if (!mailValid(mail))
  {
    err = new Error("Mail adress isn't valid"); err.code = 1;
    return callback(err);
  }
  db.users.findOne({mail: mail}, function (err, doc)
  {
    if (err) throw err;
    if (doc)
    {
      err = new Error("Mail adress already used");
      err.code = 1;
      return callback(err);
    }
  });

  // Pseudo
  if (!(pseudo.length > 0 && pseudo.length < 20))
  {
    err = new Error("Pseudo length invalid");
    err.code = 2;
    return callback(err);
  }
  db.getDb.users.findOne({_id: pseudo}, function (err, doc)
  {
    if (err) throw err;
    if (doc)
    {
      err = new Error("pseudo déja utilisé"); err.code = 2;
      return callback(err);
    }
  });

  // Psw validation
  if (!(psw instanceof String))
  {
    err = new Error("Password invalid"); err.code = 3;
    return callback(err);
  }

  // Level validation
  if (!(lvl > 0 && lvl < 10))
  {
    err = new Error("Access level invalid"); err.code = 4;
    return callback(err);
  }

  // If all test are OK, we construct and instance of User and pass it to the callback
  else
  {
    this.pseudo = pseudo;
    this.psw = psw;
    this.mail = mail;
    this.date = Date.now();
    this.lvl = lvl;
    return callback(null, this);
  }
}

module.exports = User;

最佳答案

您忘记了 express 字符串周围的引号。尝试更改此行:

var express = require(express); 

对于以下一个:

var express = require('express');

看看它是否解决了问题。

关于javascript - Node JS 需要抛出 AssertionError : missing path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32917131/

有关javascript - Node JS 需要抛出 AssertionError : missing path的更多相关文章

  1. ruby - 我需要将 Bundler 本身添加到 Gemfile 中吗? - 2

    当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/

  2. ruby - rspec 需要 .rspec 文件中的 spec_helper - 2

    我注意到像bundler这样的项目在每个specfile中执行requirespec_helper我还注意到rspec使用选项--require,它允许您在引导rspec时要求一个文件。您还可以将其添加到.rspec文件中,因此只要您运行不带参数的rspec就会添加它。使用上述方法有什么缺点可以解释为什么像bundler这样的项目选择在每个规范文件中都需要spec_helper吗? 最佳答案 我不在Bundler上工作,所以我不能直接谈论他们的做法。并非所有项目都checkin.rspec文件。原因是这个文件,通常按照当前的惯例,只

  3. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  4. ruby - 在 Ruby 中重新分配常量时抛出异常? - 2

    我早就知道Ruby中的“常量”(即大写的变量名)不是真正常量。与其他编程语言一样,对对象的引用是唯一存储在变量/常量中的东西。(侧边栏:Ruby确实具有“卡住”引用对象不被修改的功能,据我所知,许多其他语言都没有提供这种功能。)所以这是我的问题:当您将一个值重新分配给常量时,您会收到如下警告:>>FOO='bar'=>"bar">>FOO='baz'(irb):2:warning:alreadyinitializedconstantFOO=>"baz"有没有办法强制Ruby抛出异常而不是打印警告?很难弄清楚为什么有时会发生重新分配。 最佳答案

  5. ruby - 为什么在 ruby​​ 中创建 Rational 不需要新方法 - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rubysyntaxquestion:Rational(a,b)andRational.new!(a,b)我正在阅读ruby镐书,我对创建有理数的语法感到困惑。Rational(3,4)*Rational(1,2)产生=>3/8为什么Rational不需要new方法(我还注意到例如我可以在没有new方法的情况下创建字符串)?

  6. ruby-on-rails - 需要帮助最大化多个相似对象中的 3 个因素并适当排序 - 2

    我需要用任何语言编写一个算法,根据3个因素对数组进行排序。我以度假村为例(如Hipmunk)。假设我想去度假。我想要最便宜的地方、最好的评论和最多的景点。但是,显然我找不到在所有3个中都排名第一的方法。Example(assumingthereare20importantattractions):ResortA:$150/night...98/100infavorablereviews...18of20attractionsResortB:$99/night...85/100infavorablereviews...12of20attractionsResortC:$120/night

  7. ruby - 我需要从 facebook 游戏中抓取数据——使用 ruby - 2

    修改(澄清问题)我已经花了几天时间试图弄清楚如何从Facebook游戏中抓取特定信息;但是,我遇到了一堵又一堵砖墙。据我所知,主要问题如下。我可以使用Chrome的检查元素工具手动查找我需要的html-它似乎位于iframe中。但是,当我尝试抓取该iframe时,它​​是空的(属性除外):如果我使用浏览器的“查看页面源代码”工具,这与我看到的输出相同。我不明白为什么我看不到iframe中的数据。答案不是它是由AJAX之后添加的。(我知道这既是因为“查看页面源代码”可以读取Ajax添加的数据,也是因为我有b/c我一直等到我可以看到数据页面之后才抓取它,但它仍然不存在)。发生这种情况是因为

  8. ruby-on-rails - 使用 javascript 更改数据方法不会更改 ajax 调用用户的什么方法? - 2

    我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的

  9. ruby - 需要重构为新的 Ruby 1.9 哈希语法 - 2

    这个问题在这里已经有了答案:HashsyntaxinRuby[duplicate](1个回答)关闭5年前。我有一个Recipe,其中包含以下未通过lint测试的代码:service'apache'dosupports:status=>true,:restart=>true,:reload=>trueend失败并出现错误:UsethenewRuby1.9hashsyntax.supports:status=>true,:restart=>true,:reload=>true不确定新语法是什么样的...有人可以帮忙吗?

  10. ruby-on-rails - 我真的需要在 Rails 中使用 csv gem 吗? - 2

    我的问题很简单:我是否必须在使用RubyonRails的类上require'csv'?如果我打开一个railsconsole并尝试使用CSVgem它可以工作,但我必须在文件中这样做吗? 最佳答案 CSVlibrary是ruby​​标准库的一部分;它不是gem(即第三方库)。与所有标准库(与核心库不同)一样,csv不会由ruby​​解释器自动加载。所以是的,在您的应用程序中某处您确实需要要求它:irb(main):001:0>CSVNameError:uninitializedconstantCSVfrom(irb):1from/Us

随机推荐