将HTML5 / Bootstrap主题包含在凤凰框架应用程序中

时间:2016-07-25 13:09:01

标签: twitter-bootstrap-3 phoenix-framework elixir-framework

我正在尝试将我购买的html5 / boostrap主题纳入我正在研究的凤凰框架应用程序中。主题有常规的html文件(每页一个),js,css,字体和图像文件夹。我将主题特定的js和css文件移动到web/static/jsweb/static/css。我将第三方js和css文件移动到web/static/vendor/jsweb/static/vendor/css下的相应文件夹中,这些文件包含(css: animate.css, bootstrap.css, flaticon.css, font-awesome.css, hover.css, responsive.css, resolution-slider.css, owl.css),(js: bootstrap.min.js, jquery.js, bxslider.js, revolution.min.js, validate.js)。

该应用的图片已移至web/static/assets/images,图片可在web/statc/assets找到。我没有对brunch-config.js做任何改动。

我设法让app.html.eex和index.html.eex采用主题。在我访问localhost:4000时,我在控制台[info] GET /css/assets/timer.png [debug] ** (Phoenix.Router.NoRouteError) no route found for GET /css/assets/timer.png (RocfDev.Router)

上看到以下内容

我将timer.png资源请求跟踪到文件web/statc/vendor/css/resolution-slider.css。文件中的css代码为background:url(assets/timer.png)。

timer.png实际上位于web/static/assets。凤凰似乎能够提供所有图像和图形,除了timer.png。

我的问题是为什么凤凰试图从错误的文件夹中提供timer.png

感谢。

1 个答案:

答案 0 :(得分:0)

background:url(assets/timer.png) - 这里的URL是相对的,因此浏览器认为它应该在#{path_to_directory_of_source_css_file}/assets/timer.png中查找timer.png文件。

将给定行更改为background:url(/assets/timer.png)应该会有所帮助。