糟糕的选择:'; _;'在构建Twitter Bootstrap时

时间:2013-02-24 09:51:51

标签: twitter-bootstrap compilation customization jshint

我刚刚安装并配置了环境,以便在本地构建自定义版本的Twitter Bootstrap。

这就是我所做的:

  1. 安装节点
  2. 安装npm
  3. 少安装
  4. 克隆本地Bootstrap
  5. 运行make build以编译Bootstrap
  6. 第5步:

    ~/devel/parking/bootstrap$ make build
    jshint js/*.js --config js/.jshintrc
    
    js/bootstrap-affix.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-alert.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-button.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-carousel.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-collapse.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-dropdown.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-modal.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-popover.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-scrollspy.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-tab.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-tooltip.js: line 24, col 17, Bad option: ';_;'.
    js/bootstrap-transition.js: line 23, col 17, Bad option: ';_;'.
    js/bootstrap-typeahead.js: line 23, col 17, Bad option: ';_;'.
    
    13 errors
    make: *** [test] Error 2
    

    第23行:

    "use strict"; // jshint ;_;
    

    我能够解决从第23行删除// jshint ;_;的问题。但是,我更倾向于保持Bootstrap源不受影响。

    如何摆脱这些错误以及“错误选项”错误的含义是什么?


    JS / .jshintrc:

    {
        "validthis": true,
        "laxcomma" : true,
        "laxbreak" : true,
        "browser"  : true,
        "eqnull"   : true,
        "debug"    : true,
        "devel"    : true,
        "boss"     : true,
        "expr"     : true,
        "asi"      : true
    }
    

3 个答案:

答案 0 :(得分:17)

今天的问题是JSHint的最新版本与当前的Bootstrap Makefile不兼容,因为之前的静默警告现在会抛出错误。

删除JSHint npm uninstall jshint,然后安装版本0.9.1 npm install jshint@0.9.1。最后运行make并成功编译。

答案 1 :(得分:4)

在搜索引导程序问题后,我刚刚遇到了同样的错误,

我找到了解决方案,请看看这些: https://github.com/twitter/bootstrap/pull/5244 https://github.com/twitter/bootstrap/issues/7043

答案 2 :(得分:3)

简单地卸载JSHint并不适合我。这是我在this advice之后所做的。

cd bootstrap
npm uninstall -g uglify-js jshint recess connect
npm uninstall uglify-js jshint recess connect
npm install 
mkdir bin
cd bin
ln -s ../node_modules/*/bin/* . ; ln -s hint jshint
cd ..
export PATH=$PATH:$PWD/bin

在清理之后运行:

make

或任何其他make指令。