script src在nodejs + express中成为jade的url

时间:2015-07-06 21:06:04

标签: javascript node.js express

我正在使用nodejs + jade开发一个Web应用程序。

我想在jade页面中包含一个js文件。但它不像我认为的那样有效。

我包含三个js文件:

script(src='//cdn.bootcss.com/jquery/1.11.3/jquery.min.js')
script(src='//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js')
script(src="async.js")

前两个工作正常(引导程序文件)。但浏览器将在第三个“GET http://127.0.0.1:3000/sample/auth/async.js 404(未找到)”声明。似乎有些东西会将src更改为基于url的网址“http://127.0.0.1:3000/sample/auth/”

“127.0.0.1”是localhost,端口“3000”是服务器正在侦听的端口,“http://127.0.0.1:3000/sample”是我的Web应用程序的入口。

所以我猜项目中有一个配置强制src成为这样的url。我不知道如何包含本地js文件。有人可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您应该在async.js中将/public/scripts放入Express应用中。您可能需要创建此目录,但您会看到应用程序的本地CSS文件位于/public/stylesheets

执行此操作后,请参考async.js这样的script(src='/scripts/async.js')文件。

这是提供本地CSS和JavaScript的首选方法。您可以在app.js中看到Express在那里查找任何静态资源。

app.use(express.static(path.join(__dirname, 'public')));