静态站点与使用公共火炉的快递

Static site with express using a public fonder

本文关键字:快递 站点 静态      更新时间:2023-09-26

我认为这可能只是对我如何做到这一点的误解,但它困扰着我,我没有找到任何可以回答这个问题的东西。

我有一个静态站点,我的文件结构为

--node_modules
--index.html
--server.js
--app.js

我的服务器.js很简单,只是

var express = require("express");
var cors = require("cors");
var app = express();
app.use(cors());
app.use(express.static(__dirname + '/'));
app.get('/question', function(req, res){
    res.send(req.body);
});
// Start the server on port 3000
app.listen(process.env.PORT || 3000);
// Print out a nice message so you know that the server started
console.log('Server running on port 3000');

我的引导和角度作品...你可能想知道问题是什么....

所以我有第二个站点,我建造并认为我会更好地组织我的东西。 我的文件结构是

--node_modules
--public
|---index.html
|---app.js
--server.js

我的服务器.js唯一的区别是

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

我的引导程序和角度在索引中被引用.html比如

<script src="../node_modules/angular/angular.js"></script>
<script src="../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>

这行不通...现在我知道我可以用第一种方法或使用 CND,但我想知道是否有人可以教育我为什么做错了什么以及我做错了什么。

非常感谢所有的帮助和教育。

除非您

使用的是Browserify,否则Angular和Bootstrap可能不应该在node_modules中。 Express 不会提供任何不在 express.static 根目录下的静态文件,因此如果相对路径高于 public/,则不能使用../相对路径。

也就是说,您需要将您想要公开的所有内容移动到public/下的某个地方,包括index.html和您将使用的 JavaScript 库。