在res.sendfile express js上同时发送HTML和CSS文件

时间:2019-04-13 05:46:26

标签: html css node.js express

我无法在express.js中的res.sendfile上同时发送css和html文件。

index.html

    <div class="hdngTab">
    <h1 style="align-content: center">Automation Utility</h1>
    </div>

index.css

    .hdngTab{
    background-color: rgb(60, 120, 120);
    box-sizing: border-box;
    border:  solid rgb(60, 120, 120);
    text-align: center
    }

index.js

    const express = require("express");
    const app = express();
    const http = require("http").Server(app).listen(3000);

    console.log("Server Started");

    app.get("/", function (req, res) {
    res.sendFile(__dirname + "/index.html");
    }
    )

我根据一些在线参考资料尝试了以下选项,但没有任何帮助:

  1. 在根目录上传递了 index.css ,因为浏览器应该能够自己加载它。

    app.get('/index.css', function(req, res) {
    res.sendFile(__dirname + "/" + "index.html");
    });
    
  2. 创建新文件夹并将我的静态文件( html和css)移动到该文件夹​​下,并将 res.sendfile 替换为 app.use(express .static(“ folderName”));

还有其他解决方案吗?

2 个答案:

答案 0 :(得分:1)

除此行外,其他所有内容均保持不变-

//将您的CSS作为静态服务器 Button

答案 1 :(得分:0)

您可以使用express.static来存储静态文件,例如:

假设您的文件夹结构:

app.js
|    +-- public
|    |   +-- css
|    |   |   +-- mystyle.css
const express = require("express");
const app = express();

// using express you don't need this
// const http = require("http").Server(app).listen(3000);

// server your css as static
app.use(express.static(__dirname + 'public'))

console.log("Server Started");

app.get("/", function (req, res) {
  res.sendFile(__dirname + "/index.html");
})

// start your server
app.listen(3000, () => console.log('Server started at port 3000'))

在您的html

<link href="css/mystyle.css"