Node.js一个简单的服务器,在html文件(routes.js)中嵌入javascript时出现问题



所以我正在尝试编写一个简单的节点服务器,当它在根目录中被 get 请求击中时,它将获取一个非常简单的 html 文件。一切正常,直到我尝试将 javascript 文件附加到我的 html 文件,然后我遇到了错误,Uncaught SyntaxError: Unexpected token <我已经意识到这只是一个 404 错误,但我完全无法弄清楚如何让这种情况停止发生。

测试.html

<!DOCTYPE html>
<html>
<head>
	<title>title</title>
</head>
<body>
<script type = "text/javascript" src = "/home/danny/Documents/Application/server/test.js"> </script>
booya
</body>
</html>

应用.js

/**
 * Main application file
 */
'use strict';
var express = require('express');
var mongoose = require('mongoose');
var tweet = require('../models/tweet.js');
// Connect to database
mongoose.connect('mongodb://localhost/test');
// Setup server
var express = require('express');
var app = express();
require('./config/express');
require('./routes')(app);
app.engine('html', require('ejs').renderFile);
var server = require('http').createServer(app);
// Start server
server.listen(3000, function() {
  var host = server.address().address;
  var port = server.address().port;
  console.log('Example app listening at http://%s:%s', host, port);
});
console.log(__filename);
// Expose app
exports = module.exports = app;

路线.js

/**
 * Main application routes
 */
'use strict';
module.exports = function(app) {
  // Insert routes below
  app.route('/aa')
    .get(function(req, res) {
      res.sendFile('/home/danny/Documents/Application/server/test.js')
    })
  // All other routes should redirect to the index.html
  app.route('/*')
    .get(function(req, res) {
      // res.set('Content-Type', 'text/html');
      res.render('/home/danny/Documents/Application/src/test.html');
    });
};

有人知道为什么找不到该文件吗?

我将在这里做一个很长的猜测,但也许是因为您正在这样做:/home/danny/Documents/<xyz>...?

这不起作用,因为您正在尝试链接到http://yourdomain.com/home/danny/Documents/<xyz>

尝试通过放置 Web 服务器可以理解的路径来解决此问题。

最新更新