Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使node.js服务器也发送js文件?_Javascript_Node.js_Load_Client Server - Fatal编程技术网

Javascript 如何使node.js服务器也发送js文件?

Javascript 如何使node.js服务器也发送js文件?,javascript,node.js,load,client-server,Javascript,Node.js,Load,Client Server,我有一个运行的node.js文件服务器(当被访问时)返回html内容。在node.js文件的同一目录中,还有一个名为test.js的javascript文件。在返回的html内容中,我还需要加载该javascript文件。然而,在返回的html内容中,它被称为index.html,脚本如下所示 但是服务器没有发送test.js文件,它只发送index.html文件,脚本链接从同一个目录中相对加载它 现在我不想给出test.js文件的url。我希望node.js文件也发送test.js文件,以便

我有一个运行的
node.js
文件服务器(当被访问时)返回html内容。在
node.js
文件的同一目录中,还有一个名为
test.js
的javascript文件。在返回的html内容中,我还需要加载该javascript文件。然而,在返回的html内容中,它被称为
index.html
,脚本如下所示

但是服务器没有发送
test.js
文件,它只发送
index.html
文件,脚本链接从同一个目录中相对加载它

现在我不想给出
test.js
文件的url。我希望
node.js
文件也发送
test.js
文件,以便它最终与
index.html
位于同一目录中。然后
index.html
可以从同一目录加载它

是否有一种方法可以在
node.js
中使用代码指定,以同时发送
test.js
文件


谢谢。

您熟悉丹达维斯提到的Express吗?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资源。希望这有帮助,我没有冒险背离你的意图

在web服务器上托管js文件,并在脚本标记的src属性中指定js的完整URL如何检查该链接:听起来像express或其他REST工具包之一。