Express不允许我的Web应用程序加载AngularJS。我的Web应用程序的目录结构基本上如下所示:
\root
server.js
\angularApplication
index.html
\assets
angular.js
我的server.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'));
index.html
加载正常,但脚本无法加载。我收到404错误:
如果我通常在我的HTML中引用AngularJS:
<script src="/relative-path-to/angular.js"></script>
然后Express仍然无法获取文件。我做错了什么,为什么Express拒绝提供任何我的脚本?
答案 0 :(得分:0)
以下对我有用:
app.use("/angularJS", express.static(__dirname + '/angularApplication/assets'));
但是只有我像这样引用HTML中的脚本:
<script src="angularJS/angular.js"></script>
显然,这并不意味着app.use
的使用方式。我发现的更好的解决方案是:
app.use(express.static(__dirname + '/angularApplication/assets'));
// app.use(express.static(__dirname + '/angularApplication/etc'));
这些将提供目录中的所有文件,因此脚本和样式表可以像这样在前端引用:
<script src="angular.js"></script>