js样式不适用于所有页面

Sail.JS Styles not applying to all pages?

本文关键字:适用于 样式 不适用 js      更新时间:2023-09-26

我使用的是Sailsjs v0.12.4with 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

请让我知道什么文件夹结构和你在哪里写的代码?您需要将其添加到母版页。

请检查控制台是否有错误。有没有类似404未找到的错误?或者其他警告。和我们分享吧,这样我们就能帮你解决这个问题。

如果你的css文件夹在assets文件夹中,那么如果你将页面更改为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">

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

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

<!--STYLES-->
<!--STYLES END-->

为CSS和

<!--SCRIPTS-->
<!--SCRIPTS END-->
为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,并用bar.ejs文件的内容替换<-% body %>