Wie kann “sequelize.import()" importieren Sie Modelle aus einer anderen Datei?

Wenn ich ein neues Modell in der folgenden Weise:

//user.js file
module.exports = function (sequelize, DateTypes) {

return sequelize.define("user", {
    email: {
        type: DateTypes.STRING,
        allowNull: false,
        unique: true,
        validate: {
            isEmail: true
        }
    },
    password: {
        type: DateTypes.STRING,
        allowNull: false,
        validate: {
            len: [7, 100]
        }
    }
});
};

und in db.js Datei, wo ich baute eine neue Datenbank:

var Sequelize = require('sequelize');
var env = process.env.NODE_ENV || "development"; //established if you work in production or in development mode
var sequelize;

if (env == "production") {
    sequelize = new Sequelize(process.env.DATABASE_URL, {
        "dialect": "postgres",

    });
} else {
    var sequelize = new Sequelize(undefined, undefined, undefined, {
        'dialect': 'sqlite',
        'storage': __dirname + '/data/dev-todo-api.sqlite' //location where you create a new sqlite database 
    });
}

var db = {};

db.todo = sequelize.import(__dirname + "/models/todo.js");
db.user = sequelize.import(__dirname + "/models/user.js");
db.sequelize = sequelize; //contain a settings of database
db.Sequelize = Sequelize;

module.exports = db;

Ich verstehe nicht, wie user.js weiß, dass sequelize (dass ich insert, die als parameter in module.exports) ist die Instanz einer sequelize Paket, wenn diese sich in einer anderen Datei? Vielleicht, weil mit sequelize.import('/user.js') es importiert die gesamte sequelize Paket?

  • Überprüfen Sie bitte die Schreibweise. In der ersten Zeile, Sie haben zwei Fehler.
  • Danke...ich habe meine Lösung mit Ihrer Frage 🙂
InformationsquelleAutor Morris | 2016-11-16
Schreibe einen Kommentar