在sails.js中创buildconfigurationvariables?
我正在将我的应用程序从Express转换为sails.js – 有没有办法在Sails中做这样的事情?
从我的app.js
文件在Express:
var globals = { name: 'projectName', author: 'authorName' }; app.get('/', function (req, res) { globals.page_title = 'Home'; res.render('index', globals); });
这使我可以在每个视图上访问这些variables,而无需将它们硬编码到模板中。 不知道如何/帆在哪里做。
你可以在config/
文件夹中创build你自己的configuration文件。 例如config/myconf.js
和你的configurationvariables:
module.exports.myconf = { name: 'projectName', author: 'authorName', anyobject: { bar: "foo" } };
然后通过全局sails
variables从任何视图访问这些variables。
在一个视图中:
<!-- views/foo/bar.ejs --> <%= sails.config.myconf.name %> <%= sails.config.myconf.author %>
在一个服务
// api/services/FooService.js module.exports = { /** * Some function that does stuff. * * @param {[type]} options [description] * @param {Function} cb [description] */ lookupDumbledore: function(options, cb) { // `sails` object is available here: var conf = sails.config; cb(null, conf.whatever); } }; // `sails` is not available out here // (it doesn't exist yet) console.log(sails); // ==> undefined
在一个模型中:
// api/models/Foo.js module.exports = { attributes: { // ... }, someModelMethod: function (options, cb) { // `sails` object is available here: var conf = sails.config; cb(null, conf.whatever); } }; // `sails is not available out here // (doesn't exist yet)
在一个控制器中:
注意:这在策略中的工作方式相同。
// api/controllers/FooController.js module.exports = { index: function (req, res) { // `sails` is available in here return res.json({ name: sails.config.myconf.name }); } }; // `sails is not available out here // (doesn't exist yet)