在 server.js 中需要 loki inMemory 数据库导致 nodemon 不断重启

requiring loki inMemory database in server.js causes nodemon to constantly restart

Project repo

安装后 lokijs I created the following database.js 文件:

var loki = require('lokijs');

var db = new loki('db.json');

db.addCollection('top').insert([
    { term: 'JavaScript' , style : 'warning' },
    { term: 'Angular 2'  , style : 'danger'  },
    { term: 'NodeJS'     , style : 'success' },
    { term: 'REST'       , style : 'primary' }
]);

db.addCollection('searches');

db.saveDatabase();

我在 server.js 文件中添加 require('./database.js'); 后,nodemon 立即陷入重启循环。 nodemon main

var express = require('express');

var app = express();

app.set('view engine', 'ejs');
app.set('views', __dirname + '../public/views');

app.use(express.static(__dirname + '/../public'));

require('./database.js');
require('./routes.js')(app);

module.exports = app;

啊,我刚刚意识到我需要忽略 db.json 文件,因为它一直被覆盖。

nodemon main.js --ignore db.json

这将防止服务器重启循环。

您可以将 lokijs 的所有 json 文件添加到 nodemon.json 的忽略数组中,如下所示

{
    "ignore": [
        "db1.json",
        "db2.json"
    ]
}

现在使用lokijs的saveDatabase功能时nodemon不会重启