如何完全關閉靜態資產?我想我可能會這樣做:禁用Sails.js靜態資產服務
module.exports = {
// Init custom express middleware
express: {
customMiddleware: function (app) {
app.use(express.static(__dirname + '/some_empty_folder'));
但這對我來說並不好。有沒有辦法關閉配置中的靜態資產服務?
如何完全關閉靜態資產?我想我可能會這樣做:禁用Sails.js靜態資產服務
module.exports = {
// Init custom express middleware
express: {
customMiddleware: function (app) {
app.use(express.static(__dirname + '/some_empty_folder'));
但這對我來說並不好。有沒有辦法關閉配置中的靜態資產服務?
您可以通過從middleware.order在/config/http.js的www
middleware關閉靜態資產的服務:
module.exports.http = {
middleware: {
order: [
'startRequestTimer',
'cookieParser',
'session',
'bodyParser',
'handleBodyParserError',
'compress',
'methodOverride',
'poweredBy',
'$custom',
'router',
// 'www',
'favicon',
'404',
'500'
]
}
};
您可以創建沒有一個前臺應用程序帆與標誌--no-前端
sails new [appName] --no-frontend
這將避免產生資產文件夾,然後咕嚕任務。
啊,這很酷。但在我的情況下,我正在尋找一種在運行時以編程方式禁用它的方法。我想要有兩臺同一臺服務器,一臺服務於API,另一臺服務於基於環境變量的資產。我意識到如果API服務器在我的情況下也提供靜態資產,我就不會使用它的那部分。這是真正需要關閉API的資產服務器,我可以通過禁用自動路由和基於變量的自定義路由來實現這一點。感謝您的輸入!我相信這會幫助別人 – light24bulbs 2015-01-22 13:11:39
您好!你能找到解決這個問題的辦法嗎? – 2015-01-21 09:44:50
@SlavaFominII不要,除非下面的答案由jorgecasar爲你工作。根據他的說法,也許可以在應用程序創建後修改grunt任務,甚至可以通過編程方式打開和關閉資源。也可以在腳本中做一些資產文件夾的符號鏈接,儘管這並不是很好,因爲它不會獨立於平臺,並且在我認爲應用程序關閉時需要某種逆轉。 – light24bulbs 2015-01-22 13:15:21
謝謝@ light24bulbs!請參閱主要Sails.js撰稿人@ sgress454的答案。我認爲它應該解決問題! – 2015-01-23 09:34:52