2016-08-30 64 views
2

我是node.js和后端编程的新手。我无法从快速加载静态文件。我没有使用'公共'目录。我需要'js'文件夹中的js文件。 这是文件夹结构 folder structure:无法加载来自express.js的静态文件

在index.js 我所提到:app.use('/js',express.static(__dirname + '/js'));

index.html: 
 
<script type="text/javascript" src="js/jquery.min.js"></script> 
 
<script type="text/javascript" src="js/bootstrap.js"></script> 
 
<script type="text/javascript" src="js/sngulsr.js"></script> 
 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.1.3/ui-bootstrap.min.js"></script> 
 
<script type="text/javascript" src="js/angular-routing.js"></script> 
 
<script type="text/javascript" src="js/angular-main.js"></script> 
 
<script type="text/javascript" src="js/controllers.js"></script> 
 
<script type="text/javascript" src="js/custom.js"></script> 
 
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.10.0/ui-bootstrap-tpls.js"></script>

(这些是没有得到加载的文件)

所以,当我运行该文件时,我得到$未定义的错误,因为jquery没有被加载。

编辑: 从app.use图像去除__dirname后EDITED_IMG

+1

应该只是'app.use(express.static('/'));'你设置它的方式,但是你已经打开了整个代码库给客户端,这就是为什么我们使用'/ public'文件夹。 – adeneo

+1

Windows还是Linux?如果从'app.use'中删除'__dirname',会发生什么?在运行Web应用程序的控制台中获取任何错误? –

+0

谢谢!但仍然文件似乎不会加载... – Kshri

回答

1

修改您的配置略微

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

然后引用所有的JS相对JS文件夹路径,例如。

<script type="text/javascript" src="/jquery.min.js"></script> 

您在static方法中定义的路径将成为静态文件的根目录。

+0

我可以看到,只有我的第一个js文件,即jquery.js无限次加载。 – Kshri