首页 > 使用ejs模板时,css样式丢失,无法加载

使用ejs模板时,css样式丢失,无法加载

使用nodejs后台,前端用ejs模板。但在查看时,发现css样式都显示不出来。怎么才能正常显示样式呢?

<link rel = "styesheet" href="../public/css/common.css">

ejs放在views文件夹下,css js jpg等放在public下


客户端浏览器访问到的url根路径就是public
<link rel = "styesheet" href="/css/common.css">


这样的相对目录的解析方式好多时候还是很蛋疼的,所以建议你可以采用:

<% if(settings.config.WEB_PRODUCTION){ %>

    <!-- INCLUDE STYLESHEET -->
    <link rel='stylesheet' href='http://fonts.useso.com/css?family=Open+Sans:300,400,600&subset=latin,latin-ext'>
    <link rel="stylesheet" href="http://cdn.bootcss.com/font-awesome/4.2.0/css/font-awesome.min.css">
    <!-- INCLUDE JAVASCRIPT -->
    <script src="http://cdn.bootcss.com/modernizr/2.6.2/modernizr.min.js"></script>

<% }else{ %>

    <!-- INCLUDE STYLESHEET -->
    <link rel="stylesheet" href="/public/vendors/bower_components/font-awesome/css/font-awesome.min.css">
    <!-- INCLUDE JAVASCRIPT -->
    <script src="/public/vendors/bower_components/html5-boilerplate/js/vendor/modernizr-2.6.2.min.js"></script>
<% } %>

利用/path这样的目录来解析到域名的根目录下得公共资源文件夹。


还是要看你应用中设置的静态路径是什么,是/public还是/
或者你打开firebug(火狐浏览器)或者开发者工具(谷歌浏览器)里头的network那一项,刷新下页面,看他css样式是从什么路径加载的。


先看看有没有已经配置路径,然后你的css文件基于已配置的静态文件的路径上续写路径。

【热门文章】
【热门文章】