Sail.JS样式不适用于所有页面?

时间:2016-08-26 04:58:49

标签: javascript css sails.js

我正在使用Sailsjs v0.12.4 使用NodeJS v6.4.0

我正在尝试将styles (css/js)应用于我的所有观看(folders)。 无论我路由'/'到,它都会呈现样式(bootstrap, font-awesome),但其他routes/pages不会呈现它们。

layout.ejs

<!--STYLES-->
<link rel="stylesheet" href="styles/bootstrap.css">
<link rel="stylesheet" href="styles/custom.css">
<link rel="stylesheet" href="styles/importer.css">
<!--STYLES END-->

有没有人知道导入样式表和脚本最佳实践的好教程?似乎每隔一段时间我就会陷入导入库的困境,而且它会变得麻烦。

http://sailsjs.org/documentation/anatomy/my-app/views/layout-ejs

3 个答案:

答案 0 :(得分:0)

请告诉我文件夹结构以及您编写此代码的位置?您需要将其添加到母版页。

请检查控制台错误。是否有类似404找不到的错误?或任何其他警告。与我们分享,以便我们帮助解决这个问题。

答案 1 :(得分:0)

如果您在资源文件夹中有css文件夹,那么如果您将页面更改为example.com/another-page,那么sails会尝试访问example.com/another-page/styles/bootstrap.css中的css文件在example.com/styles/bootstrap.css

在您的布局中添加../到您的CSS链接。像这样:

<link rel="stylesheet" href="../styles/importer.css">

答案 2 :(得分:0)

Sails使用views文件夹中的默认layout.ejs来呈现其页面。

sails在每次运行时自动将资产文件夹中的js, css个文件加载到layout.ejs。它寻找占位符

<!--STYLES-->

<!--STYLES END-->

表示css和

<!--SCRIPTS-->

<!--SCRIPTS END-->

for javascript。

说,您在routes.js

中有一条路线
'get /foo' : 'FooController.bar'

并在FooController.js中,您有一个动作bar

bar : function (req, res) {
    return res.view();
}

views文件夹中,您应该在foo/bar.ejs

中有一个文件

res.view()呈现默认layout.ejs并将<-% body %>替换为bar.ejs文件的内容。