我已经将我的代码简化为我可以做的最简单的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.3和节点0.4.7。我做错了什么?


当前回答

这个方法对我很管用

app.use(express.static(path.join(__dirname, 'public')));

app.use('/img',express.static(path.join(__dirname, 'public/images')));

app.use('/shopping-cart/javascripts',express.static(path.join(__dirname, 'public/javascripts')));

app.use('/shopping-cart/stylesheets',express.static(path.join(__dirname, 'public/stylesheets')));

app.use('/user/stylesheets',express.static(path.join(__dirname, 'public/stylesheets')));

app.use('/user/javascripts',express.static(path.join(__dirname, 'public/javascripts')));

其他回答

我只是尝试这个代码和工作

const exp = require('express');
const app = exp();

app.use(exp.static("public"));

和工作,

工作前(未工作):

const express = require('express');
const app = express();
app.use(express.static("public"));

试试

尝试使用http://localhost:3001/default.css访问它。

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

你实际上给它的名称文件夹,即样式,而不是你的子url。

服务静态文件(css,图像,js文件)只需两步:

将CSS文件的目录传递给内置中间件express.static Var express = require('express'); Var app = express(); /*public是我项目目录下的文件夹,包含三个文件夹 css,形象,js * / //css =>文件夹包含css文件 //image=>文件夹包含图片 //js =>文件夹包含javascript文件 app.use(表达。静态(公共/ css)); 要访问CSS文件或图像,只需输入url http://localhost:port/filename.css ex:http://localhost:8081/bootstrap.css

注意:链接CSS文件到HTML只需输入<link href="file_name.css" rel="stylesheet">

如果我写这段代码

var express = require('express');
var app = express();
app.use('/css',express.static( 'public/css'));

要访问静态文件,只需输入url:localhost:port/css/filename.css 例:http://localhost: 8081 / css / bootstrap.css

注意链接CSS文件与HTML只需添加下面的行

<link href="css/file_name.css" rel="stylesheet">    

这对我来说很有用:

app.use('*/css',express.static('public/css'));
app.use('*/js',express.static('public/js'));
app.use('*/images',express.static('public/images'));

除此之外,确保静态文件路径以/ (ex…/资产/ css)……在主目录(/main)之上的任何目录中提供静态文件