使用connect-assetmanager缩小bootstrap.js会导致语法错误。为什么?

时间:2012-03-17 22:28:22

标签: node.js express twitter-bootstrap connect minify

在node.js / Express应用中使用connect-assetmanager。

这有效:

  js: {
      dataType: 'javascript',
      path: __dirname + '/../public/javascript/',
      files: [//'jquery-1.7.1.js'
             'bootstrap.min.js'
      ],
      route: /\/static\/javascript\/script\.js/
  }

(注意使用已经最小化的boostrap.js版本,并注释掉jquery文件进行测试)。

这失败了:

  js: {
      dataType: 'javascript',
      path: __dirname + '/../public/javascript/',
      files: [//'jquery-1.7.1.js'
             'bootstrap.js'
      ],
      route: /\/static\/javascript\/script\.js/
  }

请注意非最小化bootstrap.js

失败发生在浏览器(Chrome)中。在bootstrap.js的connect-assetmanager压缩部分的第120行,出现语法错误:

119 isActive=$parent.hasClass('open')
120 clearMenus()!isActive&&$parent.toggleClass('open')
  Uncaught SyntaxError: Unexpected identifier
121 return false}}

这是我第一次使用connect-assetmanager来缩小/连接静态文件。这种东西是JS minifiers的典型吗?我该怎么办?

令人怀疑的是我们很快就需要在prod之外的客户端上真正调试bootstrap.js,但如果Javascript的破坏是典型的话,我不想投资connect-assetmanager。

2 个答案:

答案 0 :(得分:0)

不确定这是否真的算作答案,但较新版本的Bootstrap解决了这个问题。

答案 1 :(得分:0)

你错过了关于使用bootstrap

缺少分号问题的整个讨论

https://github.com/twitter/bootstrap/issues/3057