如何在sailsjs中获取基址或根URL?

时间:2013-12-10 06:55:01

标签: node.js url express root sails.js

是否有提取应用的根网址或基本网址的风帆方式?我基本上需要这个来发送带链接的激活电子邮件。

3 个答案:

答案 0 :(得分:8)

Sails.js基于Express,因此您可以在操作中执行以下操作:

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

答案 1 :(得分:3)

只是为找到此页面的任何人提供更新的答案...

在Sails v0.10中,您可以通过视图中的req.baseUrlsails.getBaseurl()访问它。

答案取自:How to get current domain address in sails.js

答案 2 :(得分:0)

其他几个选项可用sails.config.appPathrequire('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}}。