【问题标题】:Uncaught SyntaxError: Unexpected token < jquery.min.js:1Uncaught SyntaxError: Unexpected token < jquery.min.js:1
【发布时间】:2016-09-19 14:22:57
【问题描述】:

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

代码在这里:

jsfiddle.net/valsaven/8d6e03um/

文件夹结构:

聊天

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

【问题讨论】:

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


    【解决方案1】:

    问题出在您正在处理请求的后端代码中,而不是在前端。

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

    此代码针对所有请求执行,包括 jscss 文件。因此,您将在js 请求中获得index.html 的内容。因此,Javascript 引擎在解析包含 html &lt; 标签的文件时会显示错误。

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

    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');
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-04
      • 2017-11-24
      • 1970-01-01
      • 2012-05-17
      • 2019-02-10
      • 2014-07-08
      • 2011-03-09
      • 2014-01-06
      相关资源
      最近更新 更多