如何使用Express.js提供静态内容(.html、.js等)

如何使用Express.js提供静态内容(.html、.js等),express,Express,Express不允许我的web应用程序加载AngularJS。我的web应用程序的目录结构基本上如下所示: \root server.js \angularApplication index.html \assets angular.js var express = require('express'); var app = express(); app.get("/", function(req, res) {

Express不允许我的web应用程序加载AngularJS。我的web应用程序的目录结构基本上如下所示:

\root
    server.js
    \angularApplication
        index.html
        \assets
            angular.js
var express = require('express');
var app = express();

app.get("/", function(req, res) {
    res.sendFile(__dirname + '/angularApplication/index.html');
});

app.use("/angularScripts", express.static(__dirname + '/angularApplication/assets'));
<script src="angularJS/angular.js"></script>
My server.js的外观如下所示:

\root
    server.js
    \angularApplication
        index.html
        \assets
            angular.js
var express = require('express');
var app = express();

app.get("/", function(req, res) {
    res.sendFile(__dirname + '/angularApplication/index.html');
});

app.use("/angularScripts", express.static(__dirname + '/angularApplication/assets'));
<script src="angularJS/angular.js"></script>
index.html可以正常加载,但脚本无法加载。我得到这个404错误:

得到

如果我通常在HTML中引用AngularJS:

<script src="/relative-path-to/angular.js"></script>

那么Express仍然无法获取文件。我做错了什么,为什么Express拒绝提供我的脚本?

以下内容对我很有用:

app.use("/angularJS", express.static(__dirname + '/angularApplication/assets'));
但仅当我在HTML中引用脚本时,如下所示:

\root
    server.js
    \angularApplication
        index.html
        \assets
            angular.js
var express = require('express');
var app = express();

app.get("/", function(req, res) {
    res.sendFile(__dirname + '/angularApplication/index.html');
});

app.use("/angularScripts", express.static(__dirname + '/angularApplication/assets'));
<script src="angularJS/angular.js"></script>
这些将提供目录中的所有文件,因此可以在前端像这样引用脚本和样式表:

<script src="angular.js"></script>

有效吗?@JuniorCompressor是的,index.html在端口8000上加载良好。只是我的脚本或样式表都不会加载—只加载通过CDN引用的所有内容。我很难理解ExpressJS是如何提供正常的静态内容的。如何引用这些神秘的应用程序。在前端的HTML中使用块?应该可以。我会检查文件夹名或js中的权限和输入错误filename@JuniorCompressor我继续并更新了我的问题——我终于找到了一种方法来解决这个问题。我会将此作为答案发布,但我有点不确定这是否是正确的用法。Alex express.static确实提供了目录中的每个文件,这就是重点:-