我正在尝试将我购买的html5 / boostrap主题纳入我正在研究的凤凰框架应用程序中。主题有常规的html文件(每页一个),js,css,字体和图像文件夹。我将主题特定的js和css文件移动到web/static/js
和web/static/css
。我将第三方js和css文件移动到web/static/vendor/js
和web/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
。
感谢。
答案 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)
应该会有所帮助。