我认为这可能仅仅是对我如何做到这一点的误解,但它让我烦恼,我没有找到任何答案来回答这个问题。
我有一个静态网站,我的文件结构是
--node_modules
--index.html
--server.js
--app.js
我的server.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
我的server.js的唯一区别是
app.use(express.static(__dirname + '/public'));
我的bootstrap和angular在index.html中引用,如
<script src="../node_modules/angular/angular.js"></script>
<script src="../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
这不起作用!...现在我知道我可以第一种方式或使用CND,但我想知道是否有人可以教育我为什么以及我做错了什么。
非常感谢所有的帮助和教育。
答案 0 :(得分:0)
除非您使用Browserify,否则Angular和Bootstrap可能不应该在node_modules
中。 Express不会提供任何不在express.static
根目录下的静态文件,因此如果它们高于../
,则无法使用public/
个相对路径。
也就是说,您需要在public/
index.html
下的某个地方移动您想要公开的内容,包括{{1}}以及您将使用的JavaScript库。