Express Server不从Index.html提供静态文件

时间:2016-11-16 21:30:34

标签: node.js express path mean-stack

我已经多次询问过这个问题,但是我已经搜索并尝试了所有内容,但它仍然无效。我是Node的新手。我的文件目录设置如下:

io
-node_modules/
-app/
     --css
     --js
-index.html
-server.js

Server.js:

var express = require('express');
var app = express();
//app.use(express.static(__dirname+'/app/css'));
app.use('/css', express.static(__dirname+'/app/css'));
var server=require('http').createServer(app);
var io=require('socket.io').listen(server);
users=[];
connections=[];



//set up server
server.listen(process.env.PORT || 3001);
console.log('Server running...');

//create a route
app.get('/',function(req,res){
  res.sendFile(__dirname+'/app/index.html');
});

的index.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">

        <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
        Remove this if you use the .htaccess -->
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

        <title>IO Chat</title>
        <meta name="description" content="">
        <meta name="author" content="Lloyd">

        <meta name="viewport" content="width=device-width; initial-scale=1.0">

        <link rel="shortcut icon" href="/favicon.ico">
        <link rel="apple-touch-icon" href="/apple-touch-icon.png">

    <link href="css/main.css" rel="sylesheet">
    <link href="css/bootstrap.css" rel="sylesheet">
    <!--link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"-->
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.5.1/socket.io.js"></script>
    </head>

所以我需要知道的是为什么index.html似乎无法引用我的css文件。我在app.use()中尝试了多种可能的组合,它只是不想工作,即使有时我可以直接从浏览器访问该文件。

2 个答案:

答案 0 :(得分:2)

在服务器中:

app.use(express.static(__dirname+'/app/css'));

在客户端:

<link href="/main.css" rel="stylesheet">
<link href="/bootstrap.css" rel="stylesheet">

答案 1 :(得分:0)

我认为您使用的是$ingreso错误的

试试这样:

app.use

此路由调用app.use('css', express.static(__dirname+'/app/css')); 到名为的静态目录。