我需要在sails配置中添加一个引用应用程序名称的变量,并在所有生成的链接中使用此名称作为css,js,images文件的前缀 sailsjs自动生成这些链接并向页面添加include命令。 那么,我如何修改这一代链接以包含名称作为前缀
答案 0 :(得分:0)
使用HTML base tag。如果您的应用程序名称为" sails-app-1"然后:
<!doctype html>
<html>
<head>
<base href="https://example.com/sails-app-1/">
</head>
<body>
<img src="example-image.gif" width="100" height="100" alt="https://example.com/sails-app-1/example-image.gif">
<a href="page-1.html" title="Relative paths will be appended to the base tag's href attribute.">https://example.com/sails-app-1/page-1.html</a>
<a href="/page-2.html" title="Absolute paths will not be appended to the base tag's href attribute.">https://example.com/page-2.html</a>
<a href="https://example.com/page-3.html" title="Absolute URLs will not be affected.">https://example.com/page-3.html</a>
</body>
</html>
脚本,链接,图像和锚标记的相对路径将附加到基本标记的href属性。
绝对路径和网址不会受到影响。
答案 1 :(得分:0)
我认为您最理想的解决方案是重写链接或修改项目结构,您已经在项目中了!
我建议您这样做:将Apache作为sails实例的反向代理,将其添加到您的站点配置中:
ProxyPreserveHost on
ProxyRequests Off
ProxyPass /sails-project-1/ http://127.0.0.1:1337/
ProxyPassReverse /sails-project-1/ http://127.0.0.1:1337/
ProxyPass /sails-project-2/ http://127.0.0.1:1338/
ProxyPassReverse /sails-project-1/ http://127.0.0.1:1338/
ProxyPass /sails-project-3/ http://127.0.0.1:1339/
ProxyPassReverse /sails-project-1/ http://127.0.0.1:1339/
您也可能需要在process.env.npm_project_name
prefix
添加到config/blueprints.js
注意:process.env.npm_project_name
仅在您使用npm start
而非sails lift