1

在 ExtJS 的早期版本中,compass compile会将放置在 sass 中的每个 sass 文件编译resources/sass成单独的 CSS 文件。例如:

app.scss ---> app.css

login.scss ---> login.css

我想知道我是否可以使用 ExtJS 4(特别是 4.2.1)中的新主题结构来完成类似的事情,并将其与 Sencha Cmd(运行sencha app build)涵盖的整个构建过程很好地集成。

4

2 回答 2

3

Sencha Cmd 构建过程将自动编译应用程序构建目录中的任何 SASS 文件。在标准构建过程中,Sencha Cmd 会自动为主题生成 SASS 文件并将它们放置在构建文件夹中,但您也可以使用 Sencha Cmd 的 Ant 集成来复制您自己的 SASS 文件。

假设您有一堆 SASS 样式表存储在sass/stylesheets要编译的目录中:

Project
 -> app
 -> build
     -> production
     -> testing
 -> resources
 -> sass
     -> etc
     -> example
     -> src
     -> var
     -> stylesheets
 -> build.xml

您需要做的就是将以下目标添加到您的build.xml文件中,这会.scss在 SASS 编译之前将该文件夹中的所有文件复制到您的构建目录中:

<target name="-before-sass">
    <copy todir="${build.dir}">
        <fileset dir="${app.dir}/sass/stylesheets">
            <include name="*.scss"/>
        </fileset>
    </copy>
</target>

然后,在运行之后sencha app build,您应该会在 中看到您的 SASS 文件的副本build/production以及在build/production/resources.

于 2013-08-12T14:46:46.753 回答
0

如果您使用生成了应用程序,您将看到以下目录:

MyProject
--> app
--> build
--> ext
--> overrides
--> packages
--> resources
--> saas
    - etc
    - example
    - src
    - var

您可以将css样式放置到src目录中。请记住,路径和文件名应与您的视图中的路径匹配。

例如:如果你有一个LoginView.jsunder 你的,你应该在underapp/view/上添加它的 css 样式。LogonView.scsssass/src/view/

于 2013-08-12T01:32:49.070 回答