如何找到声明不在顶层或紧接在另一个函数内的函数?

时间:2014-07-26 13:04:44

标签: javascript requirejs strict grunt-contrib-requirejs

我有一个使用require.js的工作网络应用程序,我试图将所有文件缩小并连接。我使用grunt-contrib-requirejs将整个项目编译成bundle.js文件,如下所示:

    requirejs: {
        compile: {
            options: {
                baseUrl: "public/",
                mainConfigFile: "config.js",
                name: "start",
                out: "public/bundle.js",
                preserveLicenseComments: false,
            }
        }
    }

现在我已经更改了我的index.html来调用bundle而不是unbundled start.js入口点:

已替换:<script data-main="start" src="require.js"></script>

with:<script data-main="../bundle.js" src="require.js"></script>

编译似乎做得很好,确实找到了bundle.js,但是我收到了这个错误:

  

Uncaught SyntaxError:../ bundle.js:在严格模式代码中,函数可以   只能在顶级声明或在另一个函数中立即声明。

但是chrome调试器显示了从require.js抛出的错误。我很确定require.js中没有错误。如何找到代码的哪一部分产生错误?

更新这可能(或可能不)与this recent jQuery bug相关。我无法告诉,因为当我使用非缩小版本的jquery时,我会收到来自此行的另一个错误(&#34; define未定义&#34;):define("jquery", function(){});。我也不知道这条线来自哪里,这似乎是一件奇怪的事情......

0 个答案:

没有答案