nodemon - 应用程序崩溃 - 在启动前等待文件更改

Posted

技术标签:

【中文标题】nodemon - 应用程序崩溃 - 在启动前等待文件更改【英文标题】:nodemon - app crashed - waiting for file changes before starting 【发布时间】:2018-04-29 00:32:48 【问题描述】:

我刚开始学习 Node.js。这个小应用程序的想法是使用 express 和 mongosse 将一些用户存储在基于云的数据库中(mongoDB via mlab)。

我有两个单独的文件:

User.js(模型/User.js)

var mongoose = require('mongoose');

module.exports = mongoose.model('User', 

   email : string ,
   pwd : string

);

server.js(档案根目录)

var express = require('express')
var cors = require('cors')
var bparser = require('body-parser')
var mongoose = require('mongoose')

var User = require('./models/User.js')

var app = express()

app.use(cors())
app.use(bparser.json())

app.post('/register', (req,res) => 
    userData = req.body;
    var user = new User(userData);

    user.save((err, result) => 
        if(err) console.log('IL YA UNE ERREUR')
        result.sendStatus(200);
    )

)

mongoose.connect('mongodb://user:pwd@ds261755.mlab.com:61755/myapp',  useMongoClient: true  , (erreur) => 
    if(!erreur) 
    console.log('Connexion etablie');
)


app.listen(3000)

当我执行:nodemon server.js 时,我收到以下错误:

D:\Bureau\MEAN\appBackend\models\User.js:5
   email : string ,
           ^

ReferenceError: string is not defined
    at Object.<anonymous> (D:\Bureau\MEAN\appBackend\models\User.js:5:12)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (D:\Bureau\MEAN\appBackend\server.js:6:12)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:389:7)
[nodemon] app crashed - waiting for file changes before starting...

你知道这个错误吗?

【问题讨论】:

只需将您的email : string , 更改为email : 'string' 与密码相同 @FabioAntunes email 是一个字符串(我的意思是这个变量的类型是字符串),为什么我必须这样? 【参考方案1】:

Mongoose 希望您使用内置构造函数指定类型,这些构造函数以大写字母命名,例如StringNumberBoolean

var mongoose = require('mongoose');

module.exports = mongoose.model('User', 

   email : String ,
   pwd : String

);

【讨论】:

【参考方案2】:

定义

module.exports = mongoose.model('User', new mongoose.Schema( 

   email : 'string' ,
   pwd : 'string'
   )
);

代码中没有字符串变量。

【讨论】:

【参考方案3】:

当有任何小错误时,此消息将始终出现。 当 module.exports 类型为 module.export 时,我也遇到过这种情况,只是错过了 's'。

【讨论】:

【参考方案4】:

我遇到了这样的错误,在我的情况下,它是节点 js 文件中的语法错误。检查你的代码是否有错误,因为 nodemon 监听更改并在没有错误的情况下运行。 这是导致应用崩溃的错误....

console.log("this is author",cope["author"];

SyntaxError: missing ) 在参数列表之后 在新脚本 (vm.js:79:7) 在 createScript (vm.js:251:10) 在 Object.runInThisContext (vm.js:303:10) 在 Module._compile (internal/modules/cjs/loader.js:657:28) 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) 在 Module.load (internal/modules/cjs/loader.js:599:32) 在 tryModuleLoad (internal/modules/cjs/loader.js:538:12) 在 Function.Module._load (internal/modules/cjs/loader.js:530:3) 在 Function.Module.runMain (internal/modules/cjs/loader.js:742:12) 在启动时(内部/bootstrap/node.js:283:19)在我更正错误后 [nodemon] 由于更改而重新启动... [nodemon] 开始node server.js

就是这样。检查代码中的错误,nodemon 会自动启动服务器。这就是为什么 nodemon 最好,而不是每次更改代码时都必须启动时使用 node filename.js cz。

【讨论】:

【参考方案5】:

常见的原因是您尝试从未列入白名单的 IP 访问数据库。 就我而言,我在另一台 PC 上从事同一个项目。所以,我不得不将PC IP列入白名单。 为此,请登录到您的云基础 mongodb,导航到您的特定数据库项目,然后单击网络访问,添加 IP 地址并单击当前 IP 地址。 另外,请确保在您的终端上运行 mongod 来启动您的 mongodb。 这为我解决了

【讨论】:

【参考方案6】:

[nodemon] 应用程序崩溃 - 启动前等待文件更改...


您可以通过将"start": "nodemon server.js" 条目添加到您的package.json 文件来修复此错误。

【讨论】:

这种类型的错误发生在编码器在字母表中出现错误时...因为nodejs区分大小写...首先检查您的代码并正确拼写然后nodemon将正确运行。【参考方案7】:

用这个命令测试:

npm install --save express-load

【讨论】:

欢迎来到 ***!如果您能添加解释为什么 OP 应该尝试这个以及它将如何帮助他们解决他们的问题,那就太好了,谢谢!【参考方案8】:

很多时候我们关闭PC并让项目运行,当我们再次使用它并再次运行项目时,出现了该错误。我总是解决它,重新启动电脑。一切都很完美。

【讨论】:

以上是关于nodemon - 应用程序崩溃 - 在启动前等待文件更改的主要内容,如果未能解决你的问题,请参考以下文章

nodemon 应用程序崩溃 - 在启动前等待文件更改

nodemon - 应用程序崩溃 - 在启动前等待文件更改

“[nodemon] clean exit - 在重启前等待更改”:尝试启动服务器时

Nodemon - 安装期间“干净退出 - 等待重新启动前的更改”

nodemon 应用程序崩溃 - 在开始之前等待文件更改......如何修复它?

nodemon 应用程序崩溃 - 等待文件更改