gpt4 book ai didi

javascript - 在 sails 中的所有 Controller 和服务中添加前缀

转载 作者:太空宇宙 更新时间:2023-11-04 01:05:48 24 4
gpt4 key购买 nike

嗨,我是 Node 和 sails 的新手,同时在我的代码中做了一些标准。在 sails.js 中,我目前有这个,例如下面

api/
controllers/
TestController.js
services/
TestServices.js

大多数情况下,我可以仅使用以下 URL 格式来访问 View :

http://localhost/test/
http://localhost/test/<action>

如果我在文件名中添加一些前缀,它将变成这样:

api/
controllers/
PrtestController.js
services/
PrtestServices.js

右侧的 URL 应可通过以下方式访问:

http://localhost/prtest/
http://localhost/prtest/<action>

问题:

1) 如果我向所有 Controller 和服务文件名添加前缀,是否可以通过以下方式访问 URL:

http://localhost/test/
http://localhost/test/<action>

不加前缀?

我正在考虑配置 config/routes.js 以便通过编辑如下内容来实现此目的:

'/test': {
controller: 'PrtestController',
action: '<action>'
},
'/test/*': {
controller: 'PrtestController'
}

老实说,我还没有尝试过(这只是我对代码进行重大更改之前的一个想法,否则我可能会把它搞砸)

2)是否可以在 sails.js 中使用它

PrtestController.js  >   prTestController.js

提前致谢!

编辑问题

顺便说一句,我正在使用具有以下值的 Controller 的默认 sails 配置:

blueprints: {
actions: true,
rest: true,
shortcuts: true,
prefix: ''
...

}示例:(我的routes.js将如下所示)

'/test' : 'prTestController',
'/test/action2' : 'prTestController:action2',
'/test/action3' : 'prTestController:action3',
'/test/action4' : 'prTestController:action4',
'/test/action5' : 'prTestController:action5',
'/test/action6' : 'prTestController:action6',
'/test/action7' : 'prTestController:action7',
'/test/action8' : 'prTestController:action8',
'/test/action9' : 'prTestController:action9'

路由是否有可能如果网址具有/test 或/test/any_action 将自动分别使用 Controller prTestController 或 prTestController:any_action ?

对于#2,是的,这就是我的意思。

非常感谢!

最佳答案

  1. 是的,您必须编辑config/routes.js才能进行自定义路由
    如果您的 Controller 名为PrtestController,然后(如果激活)蓝图将自动为您设置到 host/prtest/ 的路由。要覆盖此设置,请关闭蓝图,并添加一些自定义路由。
    Sails docs on routes

    如果您在理解 Sails 中的魔力时遇到困难,我建议您关闭所有蓝图,或者至少尝试不同的设置。通过这样做,您必须手动配置路由和操作。当您了解蓝图的用途及其原因后,如果您想使用它,请将其重新打开。

    这是一个video tutorial更详细地解释蓝图和路线。

  2. 不知道你的意思。您是否想知道是否允许使用小写 Controller 名称?如果是这样,是的,那应该不是问题。

关于javascript - 在 sails 中的所有 Controller 和服务中添加前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23211672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com