新人问一个关于node和jquery 的问题
发布于 8个月前 作者 hc2014 401 次浏览

RT: 我这里用的是nodejs+express, expresss用的是html模板 现在呢,我想在html页面中引用Jquery 文件路径是在/public/js/jquery.js

<script language="javascript" type="text/javascript" src="/public/js/jquery-1.7.2.min.js"></script> 但是当我在该html页面中写下$ 的时候就报错了,说是未定义. 请各位给讲讲,是我哪写错了呢?还是一开始Node就不能引用其他的js文件包呢?
11 回复

用chrome调试 提示说Cannot GET /public/js/jquery-1.7.2.min.js,但是这个路径应该是对的啊

文件名一定要对,路径的话我的是这样

@marsbaiyun 我的文件目录比较简单,但是差不多是跟你一样的根目录下是public 和views,就你的这个引用我有个地方不懂,你的html 存放在views下名为header.html是吧?引用的JS实在public下的javascripts下面 的Jquery 但是为什么你在html中引用的语句写的确实javascripts/jquery.index呢?这个路径是怎么解析的?还有就是我的路径和文件名都是复制过来的,不会写错,所以我还是没搞明白为什么我的引用不对

PUBLIC不要。默认PUBLIC /js/jquery-1.7.2.min.js 就行了 APP里面有句APP.USE(什么什么PUBLIC的)就是静态文件根目录。

刚才看楼上的那位写的,我就把public去掉了,可是还是不行依旧提示404 (not found)

/js/jquery.js 你确定下文件名

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

是的 我特意把min.js 这个文件名改成jquery.js了,不知道怎么截图,不然也好放个图上来

@hc2014 你抄我代码,抄我路径。 如果还出错,贴app.js

@MiguelValentine 诶,刚才找到原因了,根本原因不在于我html和引用路径的问题,根本原因在于我没有吧public这个文件夹设置成静态的托管文件 看你的回复app.use这个的时候我突然想到了,然后翻了一下书,写了一句app.use(express.static,__dirname+"/public") 然后问题就解决了。 还是非常谢谢你的耐心指导

@hc2014 23333我就知道。不设置这个用路由托管成URI也可以。 比如说 router.get('img/:id’,function(){ res.sendfile(geturi(req.param(‘id’))) }) URI管理方式是用来做restful的。以后你可以理解下。

@MiguelValentine 你讲的太深了…o(╯□╰)o

回到顶部