禁用默认帆.js航线
Disabling default sails.js routes
我正在设置一个基本的 Sails.js 应用程序,并且我正在尝试禁用 sails.js 中的默认路由系统。此处的文档似乎表明可以通过设置module.exports.blueprints = { actions: false };
在/config/blueprints.js
文件中禁用它
但是,当我执行sails lift
时,我仍然可以访问我的默认控制器/foo
编辑:这是使用Sails v0.10.5,除了下面的两个文件外,没有其他更改。
/** /api/controllers/FooController.js **/
module.exports = {
index: function(req, res) {
return res.send("blah blah blah");
}
};
/** /config/blueprints.js **/
module.exports.blueprints = {
actions: false,
rest: false,
shortcuts: false,
prefix: '',
pluralize: false,
populate: false,
autoWatch: true,
defaultLimit: 30
};
此外,如果我基于每个控制器禁用蓝图,则问题继续发生:
/** /api/controllers/FooController.js **/
module.exports = {
_config: { actions: false, shortcuts: false, rest: false },
index: function(req, res) {
return res.send("blah blah blah");
}
};
控制器仍可在/foo
访问
这个问题有点棘手。您正在尝试打开控制器.索引方法。同时,您将禁用所有操作的路由。
但实际上 Sails.js 在 0.10.5 中具有禁用来自控制器的索引路由的额外配置。它的名字:索引。
因此,您禁用了除索引之外的所有操作的自动路由。
要禁用所有自动路由,您必须设置:
_config: {
actions: false,
shortcuts: false,
rest: false,
index: false
}
似乎有人忘记将其添加到文档中。
您可以使用配置文件夹下的策略来执行此操作。
module.exports.policies = {
YourControllerName: {
'find': true,
'*': false
}
}
要禁用为模型生成的默认 rest 路由,您应该设置rest: false
在文件/config/blueprints.js
中
此解决方案适用于帆 V1.x
/***************************************************************************
* *
* Automatically expose RESTful routes for your models? *
* *
***************************************************************************/
rest: false,
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 强制模板刷新ember.js
- 如何编写HTML输入的JS内联
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Node.js v6.2.0类扩展不是函数错误
- 当js函数's已执行
- 要求未定义JS回调参数
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 如何从Java/scala调用js美化程序
- 如何更改<svg>标记为<img>用js标记
- 如何使用 node.js 比较两个 json 数组
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Selectize.js:如何对整数值的选项进行排序
- 禁用默认帆.js航线