Css 如何在共享主机上运行SASS或更少?
我想在CSS中使用变量,所以我正在考虑使用或用于此目的 但是,我的问题是,我将在共享主机上部署项目,而不是具有命令行访问权限的专用主机 我也不喜欢我的用户必须使用Javascript在浏览器中编译CSS文件的想法。(如果他们禁用了Javascript怎么办?)Css 如何在共享主机上运行SASS或更少?,css,sass,less,Css,Sass,Less,我想在CSS中使用变量,所以我正在考虑使用或用于此目的 但是,我的问题是,我将在共享主机上部署项目,而不是具有命令行访问权限的专用主机 我也不喜欢我的用户必须使用Javascript在浏览器中编译CSS文件的想法。(如果他们禁用了Javascript怎么办?) 处理这种情况的最好办法是什么?我最终会求助于简单的旧CSS吗?我希望不要…在您的开发机器上编译Sass或更少,并将编译后的、缩小的CSS推送到您的服务器。首先,CSS预处理器是一种开发工具,可使您轻松管理CSS文件-它们不在浏览器中运行
处理这种情况的最好办法是什么?我最终会求助于简单的旧CSS吗?我希望不要…在您的开发机器上编译Sass或更少,并将编译后的、缩小的CSS推送到您的服务器。首先,CSS预处理器是一种开发工具,可使您轻松管理CSS文件-它们不在浏览器中运行 其次,在共享或专用主机上运行预处理器的唯一区别在于,您是否能够首先安装预处理器
修改我的旧答案:一些CSS预处理确实可以在浏览器中运行。例如,将请求并编译更少的表单到CSS,并实时更新它们。它是一个非常宝贵的开发助手,但绝对不是您想在生产环境中做的事情。您遇到了一个矛盾 如果你想完全控制你的网站,你应该有一个自己的服务器,无论是专用的还是虚拟的。这可以让你安装和运行任何你想要的东西 如果不允许在共享主机上安装和运行自定义软件,则无法动态编译SASS。在将代码上载到服务器之前,必须编译SASS 如果您对在本地编译sas的必要性不满意,那么可以使用类似于IDE的部署技术或可能是IDE的部署技术来自动化sas。部署工具的选择在很大程度上取决于您的开发和托管环境 另一个选择是在客户端浏览器中进行本地编译。看见但我不建议这样做,原因有二:
大多数共享主机不允许您将自定义gems安装到默认目录,因为它通常位于用户的主文件夹之外,因此位于用户的可写目录之外 我必须在共享主机(1和1主机)上执行以下操作-[这些说明]-在共享主机上安装自定义gems。您需要对共享主机服务器进行shell访问才能执行必要的步骤。您还需要确保更新正在运行的命令,以处理最新版本的RubyGems(本文发布时为2.0.3) 完成初始设置后,只需运行
gem install sass
命令即可。然后切换到存储CSS文件的目录并运行sass--watch
以开始使用sass生成CSS文件。两个选项:
1)更少/SASS预处理器(推荐)
OP没有提到可用的服务器端处理能力,这可能会缩小这里的选项范围,但您需要的是服务器端LESS/SASS,理想情况下,它还可以缩小和缓存生成的CSS
如果你有可用的PHP,你可以使用lessphp;较旧的项目是github.com/Incenteev/lesshpp,但不要使用项目已经停止,而是使用它,它有很多东西可以提供,并且有很好的文档记录
对那些无礼的人来说
2)LESS.js SASS.js(+)
看看本节中的less.js页面,它很简单,但不是生产解决方案
SASS JS实现更为棘手,而且似乎已经进行了多次尝试,我不能保证这一点,但该项目看起来相当活跃:
+注意:对于实时环境,这是一个糟糕的解决方案,因为浏览器必须下载完整的LESS/SASS文件、编译和渲染;大多数现代浏览器都能处理,但效率很低。只能在开发环境中使用或用于实体模型。这可能会有所帮助-我也在为同样的目的探索它 这是一个通过web启动的脚本,然后继续无限期运行以查找过期的scss文件
更新:它工作得很好,但主机似乎将脚本视为失控并杀死它。因此,我编辑了php-sass-watcher.php以注释掉循环,并添加了
echo“Finished compilement”。日期(DateTime::RSS)代码>。然后在我的eclipse中,我打开一个web浏览器视图,在每次更改时只运行URL,类似于在命令行上运行编译器。尽管它不是SASS或更少,但具有所有标准的预处理器功能。我在自己的共享主机项目中广泛使用了它,而没有任何服务器端安装
唯一的要求是PHP,这在任何一个合适的主机上都是给定的。Tintin81,只需在google中键入PHP sass/less编译器,并使用第一个结果,如scssphp或LESSHP
它将把你的scss文件编译成css,并带有缓存等功能。
易于实现,并且源scss文件保留在项目中。它将在线或在您的本地环境中工作
我不敢相信这里给出了多少愚蠢的无益的答案,而不是这个问题的简单答案 我不明白为什么部署到共享主机会阻止在本地编译到CSS。安装node.js和lessc,编写一个批处理文件来编译。使用lessc减少文件,将批处理文件作为构建脚本的一部分运行(如果不使用构建脚本,则手动触发)。好的,谢谢您的帮助。但是如果我以后想直接在服务器上编辑SASS呢?虽然这有很多投票,但它没有回答这个问题,Tintin81要求一种不必在开发服务器上编译的方法