我正在尝试在Node.JS中创建一些东西。我启动了服务器并请求index.html。在index.html中,我得到了这个:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="text" id="name" placeholder="name">
<button id="login">Login</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="/scripts/main.js"></script>
</body>
</html>
在我的scripts / main.js文件中,我得到了这个:
var socket = null;
$(document).ready(function() {
$('#login').click(login);
});
function login()
{
socket = io();
socket.emit('set-name', {name: $('#name').val()});
};
在我的app.js中:
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
app.use('/scripts', express.static(__dirname + '/scipts/'));
其中
var app = require('express')();
但是,我的浏览器抱怨找不到main.js文件...我没有多少经验,所以如何解决这个问题?
这是我的项目结构:
答案 0 :(得分:0)
将app.use('/scripts', express.static(__dirname + '/scipts/'));
替换为app.use('/scripts', express.static(__dirname + '/scripts/'));
对于路径连接,请考虑使用path.join作为与环境无关的方法。
答案 1 :(得分:-2)
你需要摆脱脚本声明中的正斜杠:
<script src="/scripts/main.js"></script>
应该是
<script src="scripts/main.js"></script>