【问题标题】:How to serve simple static files along with html in NodeJS?如何在 NodeJS 中提供简单的静态文件和 html?
【发布时间】:2019-08-14 10:44:10
【问题描述】:

我正在尝试使用express.static() 在 NodeJS 中发送带有 CSS 和 JS 文件的 HTML 文件,但它不起作用。

我在一些视频中做了同样的事情,但我不知道问题出在哪里。而且当我在没有服务器的情况下打开index.html 时,它会显示样式。

这是我的 app.js(服务器):

app.use(express.static('public'));
app.get("/", (req, res)=>{
    res.sendFile(`${__dirname}/index.html`);
});

HTML:

    <head>
        <link href="./public/styles.css" rel="stylesheet" type="text/css"/>
        <script src="./public/jQuery.js"></script>
        <script src="./public/main.js"></script>
    </head>

我的公共文件夹:

-node_modules
-public
    jQuery.js
    main.js
    styles.css
app.js
index.html
package.json
package-lock.json

提前致谢。

【问题讨论】:

    标签: javascript html node.js express static-files


    【解决方案1】:

    app.use(express.static('public')); 中,字符串'public' 指的是模块应该搜索静态文件的目录不是 URL 路径 它应该用于搜索。

    src="/jQuery.js" 将映射到 public/jQuery.js 文件。

    要将以/public/ 开头的URL 映射到public 目录,您需要将其指定为要使用的第一个参数:

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

    然后src="/public/jQuery.js" 将映射到public/jQuery.js 文件。

    【讨论】:

      猜你喜欢
      • 2018-11-26
      • 1970-01-01
      • 2019-09-28
      • 2019-08-14
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 2021-10-29
      • 2014-11-20
      相关资源
      最近更新 更多