在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" } }; 

然后通过全局sailsvariables从任何视图访问这些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)