Css 如何在共享主机上运行SASS或更少?

Css 如何在共享主机上运行SASS或更少?,css,sass,less,Css,Sass,Less,我想在CSS中使用变量,所以我正在考虑使用或用于此目的 但是,我的问题是,我将在共享主机上部署项目,而不是具有命令行访问权限的专用主机 我也不喜欢我的用户必须使用Javascript在浏览器中编译CSS文件的想法。(如果他们禁用了Javascript怎么办?) 处理这种情况的最好办法是什么?我最终会求助于简单的旧CSS吗?我希望不要…在您的开发机器上编译Sass或更少,并将编译后的、缩小的CSS推送到您的服务器。首先,CSS预处理器是一种开发工具,可使您轻松管理CSS文件-它们不在浏览器中运行

我想在CSS中使用变量,所以我正在考虑使用或用于此目的

但是,我的问题是,我将在共享主机上部署项目,而不是具有命令行访问权限的专用主机

我也不喜欢我的用户必须使用Javascript在浏览器中编译CSS文件的想法。(如果他们禁用了Javascript怎么办?)


处理这种情况的最好办法是什么?我最终会求助于简单的旧CSS吗?我希望不要…

在您的开发机器上编译Sass或更少,并将编译后的、缩小的CSS推送到您的服务器。

首先,CSS预处理器是一种开发工具,可使您轻松管理CSS文件-它们不在浏览器中运行

其次,在共享或专用主机上运行预处理器的唯一区别在于,您是否能够首先安装预处理器



修改我的旧答案:一些CSS预处理确实可以在浏览器中运行。例如,将请求并编译更少的表单到CSS,并实时更新它们。它是一个非常宝贵的开发助手,但绝对不是您想在生产环境中做的事情。

您遇到了一个矛盾

如果你想完全控制你的网站,你应该有一个自己的服务器,无论是专用的还是虚拟的。这可以让你安装和运行任何你想要的东西

如果不允许在共享主机上安装和运行自定义软件,则无法动态编译SASS。在将代码上载到服务器之前,必须编译SASS

如果您对在本地编译sas的必要性不满意,那么可以使用类似于IDE的部署技术或可能是IDE的部署技术来自动化sas。部署工具的选择在很大程度上取决于您的开发和托管环境

另一个选择是在客户端浏览器中进行本地编译。看见但我不建议这样做,原因有二:

  • 这会让你的网站更难访问(真是讽刺!)。你不应该依赖繁重的JS将基本样式应用到你的网站上
  • SASS比LESS更受欢迎有几个原因,其中最主要的原因是很棒的指南针工具包

  • 大多数共享主机不允许您将自定义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要求一种不必在开发服务器上编译的方法