我最近开始学习node.js,但遇到了问题。我使用express访问我的公共文件,除CSS文件外,其他所有东西都可以正常工作。我对该主题进行了一些研究,并使用了我发现的所有东西,但是没有用。

我的文件夹结构

    app.js
    pub
     index.html
     style.css

This is my html:

	<!DOCTYPE html>
	<html >
	<head>
	  <title> Curriculum Vitae </title>
		<meta charset="UTF-8">
	  <link rel="stylesheet" href="style.css"/>
	</head>
      <body>
       ...
	  </body>
	</html>





和我的app.js文件:

    var http = require('http');
var url = require('url');
var fs = require('fs');
var express = require('express')
var app = express();
var path = require('path');


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

http.createServer(function (req, res) {
  var q = url.parse(req.url, true);
  var filename = "." + q.pathname;
  fs.readFile(filename, function(err, data) {
    if (err) {
      res.writeHead(404, {'Content-Type': 'text/html'});
      return res.end("404 Not Found");
    }
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    return res.end();
  });
}).listen(8080);

最佳答案

我认为您的问题在这条线上:

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


您将“ / pub / public”设置为公用文件夹,只需要设置“ / pub”

你可以尝试这样的事情吗?

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


希望能帮助到你。

07-28 02:27
查看更多