是否有提取应用的根网址或基本网址的风帆方式?我基本上需要这个来发送带链接的激活电子邮件。
答案 0 :(得分:8)
Sails.js基于Express,因此您可以在操作中执行以下操作:
var protocol = req.connection.encrypted?'https':'http';
var baseUrl = protocol + '://' + req.headers.host + '/';
答案 1 :(得分:3)
只是为找到此页面的任何人提供更新的答案...
在Sails v0.10中,您可以通过视图中的req.baseUrl
或sails.getBaseurl()
访问它。
答案 2 :(得分:0)
其他几个选项可用sails.config.appPath
或require('path').resolve('.')
,两者都会返回从您应用的驱动器到应用根的路径。 Caveat是本地开发,因为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()
的{{3}}。