Express-js无法获取我的静态文件,为什么?

node.js Node.js

Itachi十三Stafan

2020-03-18

我将代码简化为我可以做的最简单的express-js应用程序:

var express = require("express"),
    app = express.createServer();
app.use(express.static(__dirname + '/styles'));
app.listen(3001);

我的目录如下所示:

static_file.js
/styles
  default.css

但是,当我访问时http://localhost:3001/styles/default.css,出现以下错误:

Cannot GET / styles /
default.css

我正在使用express 2.3.3node 0.4.7我究竟做错了什么?

第2140篇《Express-js无法获取我的静态文件,为什么?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
Sam梅 2020.03.18

除上述内容外,请确保静态文件路径以/(例如/ assets / css)开头,以便在主目录(/ main)上方的任何目录中提供静态文件

Sam凯小卤蛋 2020.03.18

我在应用程序中使用Bootstrap CSS,JS和Fonts。我在asset应用程序的根目录中创建了一个文件夹,并将所有这些文件夹放入其中。然后在服务器文件中添加以下行:

app.use("/asset",express.static("asset"));

这行代码使我能够asset/asset路径前缀(如:)中加载目录中的文件http://localhost:3000/asset/css/bootstrap.min.css

现在,在视图中,我可以像下面这样简单地包括CSS和JS:

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

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android