我在正常的public / js /文件夹中有我的javascripts,一切正常用于正常路线,如'/','/ blogs'等
app.get('/blog', routes.blog)
app.get('/', routes.index)
所以在将资产加载到客户端快递日志时
GET /js/jquery.js 304 3ms
GET /js/bootstrap.js 304 3ms
GET /js/showdown.js 304 2ms
这里一切都很好,但是当我尝试将参数添加到get请求时,如此
app.get('/blog/:title', routes.blog)
我得到像这样的资产加载日志
GET /blog/js/jquery.js 404 2ms
GET /blog/js/bootstrap.js 404 2ms
GET /blog/showdown.js 404 2ms
为什么将js更改目录为'/ blog /'。
我没有改变普通快递app.js设置中的任何内容,所以如果需要我会发布它和所有依赖项,但首先我想看看是否有一个共同的解决方案。
答案 0 :(得分:2)
您的HTML正在使用src
<script src="js/jquery.js"></script>
将其更改为以/
开头的绝对网址,您就可以了。
答案 1 :(得分:0)
我想这是因为您的HTML文件使用相对路径加载资源,因此一旦URL中出现第二个正斜杠,路径就会搞砸。所以例如; &#34; / blog&#34; = good,&#34; / blog /&#34; = bad。您需要为资产使用绝对路径(以正斜杠开头的路径,例如&#34; /blog/js/jquery.js" ),或者使用a来动态写入路径模板系统(类似于 &#34; {{ROOTPATH}}博客/ JS /的jquery.js&#34; )