【发布时间】:2017-01-05 17:30:12
【问题描述】:
我有一个 Elixir/Phoenix 应用程序,我在其中使用了 brunch 和 npm。由于所有 css 文件都被编译成 app.css 并且我不想全部编译它们,而只编译其中一些,并且包括在某些页面上未手动编译的那些,我想知道有没有办法做到这一点?
【问题讨论】:
标签: npm elixir phoenix-framework brunch
我有一个 Elixir/Phoenix 应用程序,我在其中使用了 brunch 和 npm。由于所有 css 文件都被编译成 app.css 并且我不想全部编译它们,而只编译其中一些,并且包括在某些页面上未手动编译的那些,我想知道有没有办法做到这一点?
【问题讨论】:
标签: npm elixir phoenix-framework brunch
在全新的 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 以仅包含 @987654327 @:
修改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
}
},
...
然后,在视图中,您可以像这样分别包含这些文件:
<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") %>">
【讨论】:
! 的路径(如!web/static/css/foo.scss)添加到css/app.css 数组中,就像我为foo.css 和bar.css 所做的那样。跨度>