2013-12-10 45 views
3

是否有解開應用程序的根或基礎URL的sails方法?我基本上需要這個發送鏈接激活電子郵件。如何獲取sailsjs中的基礎URL或根URL?

+1

希望我能回答你的問題,但感謝無心指示帆!看起來很光滑。那就是說,你有沒有試過在自己的IRC頻道中提問? irc://irc.freenode.net/sailsjs – brandonscript

+0

我在這裏得到了我的答案,但是感謝irc的領導。 –

回答

7

Sails.js是基於快速,所以從你的行動中,你可以做到以下幾點:

var protocol = req.connection.encrypted?'https':'http'; 
var baseUrl = protocol + '://' + req.headers.host + '/'; 
+0

您在req.headers.host之前缺少+。非常感謝。 –

+0

謝謝,糾正。 – bredikhin

+0

@bredikhin我在註冊用戶時發送電子郵件確認帳戶,所以我想檢查鏈接是否正確寫入。我怎麼知道鏈接的請求來自哪裏? –

0

一對夫婦的其他可用選項... sails.config.appPathrequire('path').resolve('.'),都將根據應用的驅動器返回到應用程序根目錄的路徑。警告是本地開發,因爲C:\websites\mywebsite\remote不是非常有用,任何加載的資源將被瀏覽器阻止。

source使用require.resolve()函數來計算appPath的絕對路徑並追加assets/images

req.file('avatar').upload({ 
    dirname: require('path').resolve(sails.config.appPath, 'assets/images') 
},function (err, uploadedFiles) { 
    if (err) return res.negotiate(err); 

    return res.json({ 
    message: uploadedFiles.length + ' file(s) uploaded successfully!' 
    }); 
}); 

在上面的例子中,你可以改變'assets/images''../assets/images'存儲文件上傳您的網站的根目錄下 - 如果你藏到你的東西!

這是關於require.resolve()good article