为什么我的文件在公共文件夹得到404

Why my files in public folder gets 404

本文关键字:文件夹 我的 文件 为什么      更新时间:2023-09-26

我有一个这样的文件结构:

ng
    |---- controllers
    |         |----homeController.js
    |---- modules.js
node-modules
    |---- some modules here...
public
    |---- css
    |        |---main.css
    |---- js
    |        |---main.js
views
    |---- index.html.ejs
package.json
server.js

这是我的server.js

var express = require('express');
var morgan = require('morgan');
var ejs = require('ejs');
var app = express();
app.use(morgan('dev'));
app.use(express.static(__dirname + 'public'));
app.set('view-engine', ejs)
app.get('/', function(req, res) {
    res.render('index.html.ejs');
});
var server = app.listen(process.env.PORT || 3000, function() {
    console.log('server is listening on Port: %d', server.address().port);
});

现在,在我的index.html.ejs文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Mailer</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="css/main.css">
</head>
<body ng-app="addressBookApp">
    <h1>Sample Angular App </h1>
    <script src="js/main.js"></script>
    <script src="ng/modules.js"></script>
    <script src="ng/controllers/homeController.js"></script>    
</body>
</html>

我如何解析ng文件夹,以便我可以引用我的angular模块和控制器?

同样,如果我运行这个服务器,然后我得到错误:

为什么没有加载公共文件夹中的任何文件?main。js和main。css

得到404

如果你想在ng目录下提供文件,你也应该把它设为公共目录:

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

现在,您可以加载ng目录中的文件:

http://localhost:3000/ng/controllers/homeController.js

顺便说一下,最好创建一个名为app的文件夹,并将ng中的所有内容放在该目录下。