2017-06-10 55 views
0

我正在通过node.js模块和简单的HTML页面进行简单的客户端/服务器连接。index.html不调用javascript文件

HTML页面是这样的:

<script type="text/javascript" src="index.js"></script>

凡在同一目录下的index.js文件是这样的:

alert("hello!");

这工作得很好,当我手动点击html页面上,但是当我调用它使用我app.js:

var express = require("express"); 
 
var app = express(); 
 
var server = require('http').Server(app); 
 

 
app.get('/', function (req, res) { 
 
    res.sendFile(__dirname + '/web/index.html'); 
 
}); 
 
app.use('/web', express.static(__dirname + '/web')); 
 
server.listen(2000); 
 

 
console.log('Started Server!');

通过调用

节点app.js

当HTML页面加载时,它不显示警报。我刚刚安装了node.js,并在项目中调用了“node init”后,在此应用程序中安装了节点express依赖项。

+0

另外,更多的澄清,我所能做的在index.html中,警报将显示在节点服务器上。我只是不知道为什么我不能这样做,如果我打电话给脚本源 –

+0

脚本从网络选项卡中的服务器加载脚本? – Shadowfool

+0

该脚本与index.html文件位于同一目录中。我不知道“从服务器加载脚本”是什么意思? –

回答

2

index.js和静态文件夹的路径不匹配。因此,它无法加载index.js。

这应该工作:

app.use('/', express.static(__dirname + '/web')); 
server.listen(2000); 
+0

谢谢!我应该阅读关于快递是如何工作的! –

+0

不客气。你也可以使用'app.use(express.static(__ dirname +'/ web'));',如果它应该适用于所有路由,则不需要任何路由。 – smhrjn

相关问题