在父目录中使用JavaScript不起作用

我最近开始尝试angularjs,我的网站工作正常,当我有我的index.html和angular.min.js在同一目录中:

<!--at the end of the <body> of index.html--> <script src="angular.min.js"></script> 

不过,我已经在../node_modules/angular/angular.min.js拥有这个脚本的../node_modules/angular/angular.min.js

我想用这个脚本代替:

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

这只是不起作用。

我也试图把这个移动到一个像子目录

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

这工作。 因此,这个问题真的是为什么我不能从父目录加载脚本?

仅供参考,我的树看起来像:

 project/ node_modules/ angular/ angular.min.js app1/ index.html 

在node_modules中,理论上可以有一些重要的模块,数据,应该从外部隐藏。 如果你公开所有的node_modules目录,那么任何人都可以从那里访问你的所有文件。

但是我们只能暴露angular度目录(如果你需要的话可以暴露更多的文件,甚至是完整的node_modules,但这不是最好的主意)。 在你的服务器文件中添加:

 app.use('/angular', express.static(__dirname + '/node_modules/angular/')); 

现在你在前面你可以得到angular度:

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

编辑:这只有在node.js中使用快递(如果是的话,请在您的问题中添加快递标签)

Edit2(从comemnt回答OP问题):Node.js服务器和默认快递不提供静态文件。

应该只是HTML的另一个目录

不,如果你已经正确的configuration了服务器,你不能从浏览器上打开这个服务器上的任何文件(这是严重的安全问题)。

如果你没有在你的node.js服务器上configuration“提供静态文件”,但是在某些目录中看到静态文件,那么你可能是通过apache或者nginx服务器来提供的。 你可以尝试改变他们的configuration。

如果你没有expression纯粹的node.js然后服务静态文件更复杂,请看这个要点: https : //gist.github.com/ryanflorence/701407