![](/img/trans.png)
[英]How to receive some files at A node.js/express server and send files to B node.js/express server
[英]How to make the node.js server also send js files?
我有一个运行的node.js
文件服务器(当访问时)返回一个html内容。 同样在node.js
文件的同一目录中,有一个名为test.js
的javascript文件。 另外在返回的html内容中,我需要加载该javascript文件。 但是在html内容中,返回后出来的名称为index.html
,脚本看起来像
<script type="text/javascript" src="test.js"></script>
但是服务器没有发送test.js
文件,它只发送index.html
文件,而脚本链接是从相同的目录中相对加载的。
现在我不想将url提供给test.js
文件。 我希望node.js
文件也发送test.js
文件,以便它最终与index.html
在同一目录中。 然后index.html
可以从同一目录加载它。
有没有一种方法我可以在node.js
指定代码来发送test.js
文件?
谢谢。
你是否熟悉Express,就像dandavis所说的那样? Express允许您为静态文件设置目录。 请参阅下面的标准配置:
app
.use('view engine', jade)
.use(express.compress())
.use(express.limit('10mb'))
.use(express.bodyParser())
.use(app.router)
.use(stylus.middleware({
src: __dirname + '/www',
compile: function(str, path) {
return stylus(str)
.set('filename', path)
.set('compress', false)
.set('warn', true);
}
}))
.use(express.static(__dirname + '/www'))
.use(express.logger());
这里的重要部分是从底部开始的第二部分。 从本质上讲,Express现在知道在该静态目录中查找您在HTML中指定的任何资产。 对我来说,我在我的服务器文件夹中创建一个名为WWW的文件夹,然后添加我的JS,CSS和图像。 例如,假设我在WWW文件夹中创建了“stylus”文件夹,并将其添加到store.css中。 在我的Jade模板中,我对该CSS资产的链接如下:
link(rel="stylesheet", type="text/css", href="stylus/store.css")
Express知道相对于__dirname +'/ www'路径查找该资产,从而找到“stylus”文件夹及其包含的CSS资源。 希望这会有所帮助,而且我没有冒险离开你的意图!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.