javascript - 为什么我的公共(public)文件夹中的文件得到 404

标签 javascript angularjs node.js express

我有这样的文件结构:

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 模块和 Controller ?

此外,就好像我运行此服务器一样,我收到错误:

为什么公共(public)文件夹中的文件没有加载? 我的 main.js 和 main.css 得到 404

最佳答案

如果您想在 ng 目录中提供文件,您也应该将其公开:

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

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

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

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

关于javascript - 为什么我的公共(public)文件夹中的文件得到 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38881018/

相关文章:

javascript - RegEx 查找包含模式和变量的字符串

javascript - 如何使用react js将html表单提交的信息显示到另一个页面上?

javascript - 对于向上和向下箭头键的多个 ng-repeats,如何激活类等于 true?

node.js - 如何创建带有变量标签的 Node ?

javascript - 无法从 super 测试应用程序请求中捕获异常

javascript - 看似有效的 JSON 上的 JSON.parse 错误

javascript - 使中间参数可选的惯用方法

javascript - 从服务器获得响应后关闭 Controller 中的 Bootstrap 模式

javascript - requirejs + angularjs 代码结构拆分在不同的文件中

node.js - 使用 multer 何时完成图像上传?