未捕获的SyntaxError:意外的令牌< jquery.min.js:1

时间:2016-05-22 19:14:06

标签: javascript jquery node.js twitter-bootstrap bower

我尝试使用bower进行nodejs项目并使用它安装jquery + bootstrap。但我总是得到主题错误。我不知道出了什么问题。

代码在这里:

jsfiddle.net/valsaven/8d6e03um/

文件夹结构:

聊天

  • bower_components
  • node_modules
  • app.js
  • 的index.html

1 个答案:

答案 0 :(得分:0)

问题出现在您的后端代码中,您提供的是请求,而不是前端。

var app = http.createServer(function(req, res) {
    res.writeHead(200, {
      'Content-type': 'text/html'
    });
    res.end(index);
});

此代码适用于所有请求,包括jscss个文件。因此,您将在index.html个请求中获得js的内容。因此,Javascript引擎在解析包含html <标记的文件时显示错误。

可能的解决方案是定义特定路线。

var http = require('http'),
 fs = require('fs'),
 path = require('path'),
 express= require('express'),
 index = fs.readFileSync(__dirname + '/index.html');

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

app.use('/bower_components', express.static('bower_components'));

app.get('/', function(req, res){
   res.writeHead(200, {
      'Content-type': 'text/html'
   });
   res.end(index);
});

server.listen(3000, function() {
   console.log('Server listening on port 3000');
});