Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用公用文件夹的express静态站点_Javascript_Angularjs_Node.js_Express - Fatal编程技术网

Javascript 使用公用文件夹的express静态站点

Javascript 使用公用文件夹的express静态站点,javascript,angularjs,node.js,express,Javascript,Angularjs,Node.js,Express,我想这可能只是我对如何做到这一点的误解,但它困扰着我,我还没有找到任何答案 我有一个静态站点,其中包含我的文件结构 --node_modules --index.html --server.js --app.js --node_modules --public |---index.html |---app.js --server.js 我的server.js很简单,只是 var express = require("express"); var cors = require("cors");

我想这可能只是我对如何做到这一点的误解,但它困扰着我,我还没有找到任何答案

我有一个静态站点,其中包含我的文件结构

--node_modules
--index.html
--server.js
--app.js
--node_modules
--public
|---index.html
|---app.js
--server.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
--index.html
--server.js
--app.js
--node_modules
--public
|---index.html
|---app.js
--server.js
myserver.js中唯一的区别是

app.use(express.static(__dirname + '/public'));
我的引导和角度在index.html中被引用,就像

<script src="../node_modules/angular/angular.js"></script>
<script src="../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
这不管用!。。。现在我知道我可以用第一种方法或者使用CND,但我想知道是否有人可以教育我为什么我做错了,我做错了什么


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

Angular和Bootstrap可能不应该出现在node_模块中,除非您正在使用。Express不会提供任何不在Express.static根目录下的静态文件,因此如果../相对路径高于public/,则无法使用../相对路径


也就是说,你需要将所有你想公开的东西都放到public/include index.html和你将要使用的JavaScript库中。

我知道这很简单,lol…那么,包含angular.js的最佳实践是什么…我是否将其转储到public/js中?@user3271518有很多不同的解决方案。有些人喜欢鲍尔,你也可以把它放在第三方图书馆自己的文件夹里。你是说文件夹不是fonder,CDN不是CND?