【问题标题】:Serving StyleSheet and JS with Sails使用 Sails 服务 StyleSheet 和 JS
【发布时间】:2017-11-16 11:52:57
【问题描述】:

我是使用 nodeJS 尤其是 Sails 框架的新手。

我进行了研究,发现使用sails 时,您只需将CSS 文件放在“assets”文件夹下并使用URL 直接调用它们,例如如果我将文件custom.css 放在文件夹“assets/foo”中,我应该能够通过 URL“localhost:1337/foo/custom.css”访问它。

问题是我的本地服务器抛出 404 错误,无法找到文件,但奇怪的是,当我将应用程序部署到 Heroku 时,它运行良好,并且我能够访问 css 文件。

为什么这在本地不起作用?

【问题讨论】:

  • 您的服务器是否在 1337 端口运行?除了custom.css,你能到达其他路线吗?你能检查你的应用程序日志,看看有什么问题吗?
  • 您在进行更改后是否重新启动了您的应用程序?某些类型的更改将在应用程序运行时生效,但其他更改可能需要重新启动(或者如果应用程序在开发模式下运行,则需要一些时间)。尝试重新启动您的应用,看看您是否仍然收到 404。

标签: node.js sails.js


【解决方案1】:

欢迎来到风帆!如果您将 CSS 放在 assets/styles 文件夹中,则会自动提供 CSS。您的 JS 也应该在 assets/js 文件夹中。这样你就可以像localhost:1337/assets/js/myjs.js一样访问它。

在您看来 - 如果您不想通过布局在任何地方提供它 - 只需像这样放置您的标签:<link rel="stylesheet" href="/styles/myawesomestyle.css"><script src="/js/mypowerfuljs.js"></script>。 请记住,资产中的所有内容都将公开。 我真的建议您阅读文档HERE

【讨论】:

  • 谢谢。我现在知道了。但是,如果我将很多 css 文件放在样式文件夹中(自动导入),它不会减慢应用程序的加载速度??
  • Sails 通过缩小生产模式下的 .CSS 和 .JS 来处理多个 .CSS 和 .JS。但只有您在 pipeline.js 配置文件中提供的服务。因此,如果我有bootstrap.min.cssfa.cssany.css,在管道中它们将变成一个production.css,将提供给您的意见。所以在最坏的情况下,我们要加载 4 个文件:production.jsproduction.cssspecificscriptforthisview.jsspecificstyleforthisview.css
猜你喜欢
  • 1970-01-01
  • 2015-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 2015-01-06
相关资源
最近更新 更多