Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Adobe CQ和SASS/SCSS_Sass_Aem - Fatal编程技术网

Adobe CQ和SASS/SCSS

Adobe CQ和SASS/SCSS,sass,aem,Sass,Aem,我想问一下adobe CQ是否支持SASS/SCSS?有人使用过它吗?没有内置的SASS支持,但有for。虽然我没有使用过SASS,但是它有一个简单的用法。一直以来,任何人想要这一点,都可以提出日托要求进行增强。@diffa是正确的,因为没有对SASS的原生支持,但接受的较少。如果您不想走更少的路线,那么SASS集成就没有那么难了。我们目前正在使用SASS/Compass[与SASS模板一起使用]http://www.archetypecss.com/]与我们的开发堆栈集成 我们使用一个非常简单

我想问一下adobe CQ是否支持SASS/SCSS?有人使用过它吗?

没有内置的SASS支持,但有for。虽然我没有使用过SASS,但是它有一个简单的用法。一直以来,任何人想要这一点,都可以提出日托要求进行增强。

@diffa是正确的,因为没有对SASS的原生支持,但接受的较少。如果您不想走更少的路线,那么SASS集成就没有那么难了。我们目前正在使用SASS/Compass[与SASS模板一起使用]http://www.archetypecss.com/]与我们的开发堆栈集成

我们使用一个非常简单的MVN项目来构建我们的应用程序。在SCSS之前,我们的项目看起来像

Maven/
  bundle/
    /path/to/our/java
  content/
    /path/to/our/jcr_root (apps/etc)
我们向该项目添加了一个文件夹

马文/ 无礼/ config.rb

然后在
Config.rb
中,我们将SCSS目录和目标CSS目录设置到
etc/design
文件夹中,这样我们就可以将我们的SCSS保存在我们希望CSS编译到的位置。然后,我们将compass编译命令连接到构建脚本中。这有点像:

compass compile 
mvn clean
mvn build
如果您不使用maven,您可以做同样的事情,只要在
config.rb
中为src-scss/sass文件设置正确的路径,然后在
/etc
中将目标编译目录设置为您的设计类别

我们所做的其他一些事情是从pom.xml中排除scss文件,以便maven只构建已编译的css,然后从版本控制系统中删除已编译的css文件。这使得我们的团队可以对SCS进行版本化,而不必担心在JCR周围浮动的SCS文件会无所作为

工作流示例:

  • Dev进行sass更改
  • 开发人员运行构建脚本
  • 开发人员检查本地
  • 如果我们不是在Maven上,我们使用的是类似vlt的东西,它会是

    Maven/
      bundle/
        /path/to/our/java
      content/
        /path/to/our/jcr_root (apps/etc)
    
  • Dev进行sass更改
  • 开发人员运行compass compile(此时compass watch可能更合适)
  • Dev在这里运行vlt/pckmgr/whatever
  • 开发人员检查本地
  • 示例文件:

    maven/
      bundle/
        /path/to/javas
      content/
        /src/main/content/jcr_root/
          etc/designs/myproj
            /css
              main_styles.sass  <= src
              main_styles.css   <= compiles to
      maven/
        config.rb
          sass_dir = ../content/src/main/content/jcr_root
          css_dir = ../content/src/main/content/jcr_root
    
    maven/
    捆/
    /path/to/javas
    内容/
    /src/main/content/jcr_root/
    etc/设计/myproj
    /css
    
    main_styles.sass基于user@diffa comment,我建议将包含sass文件的前端项目与AEM集成。处理SASS文件并生成CSS文件后,生成的文件可以馈送到此插件以生成一个CRX包,该包可以选择性地部署到AEM实例。请参见下面的代码示例:

    grunt.initConfig({
      clientlibify: {
        options: {
          // path to your processed SASS files
          cssDir: 'assets/styles/css'
        }
      }
    });
    

    我意识到这个帖子已经很老了,但是它在“AEM sass”中排名第一,所以为了这里被指导的人们的利益

    我为AEM 6.2创建了一个Sass编译器。现在还为时过早,但它支持在客户端库中使用“.scss”文件,就像使用“.less”文件一样

    2017年10月
    这个
    AEM
    SASS编译器插件
    工作得非常好,安装起来非常简单


    祝你好运

    如果你不需要指南针,这是一个很好的选择。谢谢Tuan的编辑。Matt,感谢链接,我们的实现对compass有一点依赖,但是如果我们能够摆脱这种依赖,这看起来非常棒。我会避免使用内置较少的方法(adobe告诉我这一点),因为它会导致不需要的服务器负载。这意味着您的服务器将在需要时呈现CSS,这对于第一次加载来说是痛苦的。显然,这就是为什么第一次AEM启动需要一段时间,它的编译器更少。此外这些工具意味着由开发人员/网络人员运行,而不是应用程序的一部分。我会在您的CI中设置一个自定义工作流来编译客户端库的CSS,而不是让服务器执行这些任务。同意,内置的LESS也很旧。我总是使用外部的吞咽/呼噜作业来构建前端资产,并将其打包以部署到AEM中