2015-04-25 41 views
0

使用快递使用玉。 这是我提供静态文件快递代码:无法在快递中使用静态文件

app.use(express.static(__dirname + "/frontend")); 

这是layout.jade我玉代码:

link(rel='stylesheet', href='/css/style.css') 

script(src='/bower_components/angular/angular.min.js') 
script(src='/app.js') 

出于某种原因,计算器不允许我展示我的文件夹结构但我在我的前端文件夹中提到的每个文件位于根目录中。 我试着评论express.static和使用完整的路径,但这也行不通。

我得到了404错误。

+0

你尝试'链接(相对= '样式',HREF = '/前端/ CSS/style.css文件')' – adeneo

+0

什么是'在你的安装__dirname' ?你可以'console.log()'它?它是根目录吗? – jfriend00

+0

我试图把/前/ /它不工作。 如何在服务器上使用console.log __dirname? –

回答

-1
app.use('/frontend', express.static('frontend')); 
link(rel='stylesheet', href='/frontend/css/style.css') 
+0

这与OP希望它工作的方式不同。在客户端的每个文件前面都没有要求OP使用/前端,这是你推荐的。 – jfriend00

+0

这不起作用。 这是我的控制台错误: GET http:// localhost:3000/frontend/css/style.css 404(未找到) –

0

您发布的上述代码将公开/的资产。要在/frontend上公开它们,您需要使用以下内容。

app.use(express.static("frontend", __dirname + "/frontend"));

如果你想创建一个“虚拟”(因为路径并不实际存在于文件系统)路径由express.static服务的文件前缀,你可以指定一个安装路径静态目录,如下图所示:

app.use('/static', express.static('public'));