我有一个 Elixir/Phoenix 应用程序,我在其中使用了 brunch 和 npm。由于所有 css 文件都被编译到 app.css 中,我不想全部编译它们,而是只编译其中的一部分,并且包括那些在某些页面上没有手动编译的文件,我想知道,有什么办法可以做到这一点吗?
最佳答案
在全新的 Phoenix 1.2 应用程序中,以下是如何设置 /css/app.css
以包含除 web/static/css/foo.css
和web/static/css/bar.css
, /css/foo.css
只包含 web/static/css/foo.css
,和 /css/bar.css
只包含 web/static/css/bar.css
:
将 brunch-config.js
的 stylesheets:
对象修改为以下内容:
...
stylesheets: {
joinTo: {
"css/app.css": [/^web\/static\/css\//, "!web/static/css/foo.css", "!web/static/css/bar.css"],
"css/foo.css": "web/static/css/foo.css",
"css/bar.css": "web/static/css/bar.css"
},
order: {
after: ["web/static/css/app.css"] // concat app.css last
}
},
...
然后,在 View 中,您可以像这样分别包含这些文件:
<link rel="stylesheet" href="<%= static_path(@conn, "/css/app.css") %>">
<link rel="stylesheet" href="<%= static_path(@conn, "/css/foo.css") %>">
<link rel="stylesheet" href="<%= static_path(@conn, "/css/bar.css") %>">
关于npm - 不要将所有 css 文件编译成 app.css 并在需要时手动包含其中一些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39210393/