未捕获的SyntaxError:意外令牌< 使用console.log(“ hello world”)调用javascript;
我要在节点中完成我的第一步,一开始没有任何框架来了解node.js的主要和简单方面
我刚刚在Node.js(main.js)中创建了服务器,并调用了index.html,此index.html称为sayHi.js,它只有一个控制台日志。但是此脚本不起作用...
我想对此HTML文件做一个控制器/脚本来开始编程...
//main.js
var http = require("http");
var fs = require("fs");
var url = require('url');
//create a server object:
http.createServer(function(req, res) {
if (req.url === "/index" || req.url === '/') {
fs.readFile('app/views/index.html', function(err, data) {
res.writeHead(200, {
'Content-Type': 'text/html'
});
console.log("Requested URL is index: " + req.url);
res.write(data);
res.end();
});
} else if (req.url === "/modbus") {
fs.readFile('app/views/modbus.html', function(err, data) {
res.writeHead(200, {
'Content-Type': 'text/html'
});
console.log("Requested URL is index: " + req.url);
res.write(data);
res.end();
});
} else {
fs.readFile('app/views/404.html', function(err, data) {
res.writeHead(200, {
'Content-Type': 'text/html'
});
console.log("Requested URL is index: " + req.url);
res.write(data);
res.end();
});
}
})
.listen(8080); //the server object listens on port 8080
console.log('Server running at http://127.0.0.1:8080');
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<script src="../scripts/sayHi.js"></script>
<!-- <link rel="stylesheet" href="/app/styles/myStyle.css" /> -->
</head>
<body>
<h1>Hello! Now you know how to serve HTML files using Node.js!!!</h1>
<p id="demo"></p>
<a href="\modbus">Modbus</a>
</body>
</script>
</html>
//sayHi.js
console.log("hello world");
未捕获到的SyntaxError:意外令牌<< / p>
答案 0 :(得分:2)
我要指出的第一件事是,您的HTML文件正在从../scripts/sayHi.js路径中以sayHi.js的名称查找JavaScript文件。
您的HTML文件在http://localhost:8080/处投放,并尝试获取您没有路由的http://localhost:8080/scripts/sayHi.js,因此server.js将尝试发送错误html,该错误位于404.html文件中。
这是一个HTML文件,但作为javascript文件注入,这将导致浏览器中的控制台错误。
我的建议是在标头中返回适当的状态代码(即404),并在服务器文件中建立到sayHi.js的路由。
答案 1 :(得分:0)
删除脚本标签</script>
在html标签</html>
上方。
从此更改以下代码:
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<script src="../scripts/sayHi.js"></script>
<!-- <link rel="stylesheet" href="/app/styles/myStyle.css" /> -->
</head>
<body>
<h1>Hello! Now you know how to serve HTML files using Node.js!!!</h1>
<p id="demo"></p>
<a href="\modbus">Modbus</a>
</body>
</script>
</html>
对此:
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<script src="../scripts/sayHi.js"></script>
<!-- <link rel="stylesheet" href="/app/styles/myStyle.css" /> -->
</head>
<body>
<h1>Hello! Now you know how to serve HTML files using Node.js!!!</h1>
<p id="demo"></p>
<a href="\modbus">Modbus</a>
</body>
</html>
答案 2 :(得分:0)
else if(req.url === "/sayHi"){
fs.readFile('/app/scripts/sayHi.js', function (err, data) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
console.log("Requested URL is index: " + req.url);
res.write(data);
res.end();
});
@reza
我该怎么做? 我的建议是在标头中返回适当的状态代码(即404),并在服务器文件中建立到sayHi.js的路由。
答案 3 :(得分:0)