在Ghost
模块models
的index.js:
/**
* Dependencies
*/
var _ = require('lodash'),
exports,
models;
/**
* Expose all models
*/
exports = module.exports;
models = [
'accesstoken',
'app-field',
'app-setting',
'app',
'client-trusted-domain',
'client',
'permission',
'post',
'refreshtoken',
'role',
'settings',
'subscriber',
'tag',
'user'
];
function init() {
exports.Base = require('./base');
models.forEach(function (name) {
_.extend(exports, require('./' + name));
});
}
/**
* Expose `init`
*/
exports.init = init;
当需要此代码时,不会调用init
方法。可以使用以init
方法导出的所有内容。
以下是它的使用方法:
dataProvider = require('../models')
然后
dataProvider.Post.findPage(options)
未调用导出的init
方法,为什么???
答案 0 :(得分:1)
core/server/models/index.js
按预期导出一个函数init
在服务器上启动core/server/index.js
定义models = require('./models')
并在第68行调用models.init();
。因此,init
没有魔力:(
P.S。幽灵是here