我有一个使用 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 以调用捆绑包而不是未捆绑的 start.js 入口点:
替换:<script data-main="start" src="require.js"></script>
和:<script data-main="../bundle.js" src="require.js"></script>
编译似乎做得很好,并且确实找到了 bundle.js,但是我收到了这个错误:
Uncaught SyntaxError: ../bundle.js: 在严格模式代码中,函数只能在顶层或立即在另一个函数中声明。
但是 chrome 调试器显示从 require.js 抛出的错误。我很确定 require.js 没有错误。如何找到我的代码的哪一部分产生了错误?
更新这可能(或可能不)与这个最近的 jQuery 错误有关。我不知道,因为当我使用 jquery 的非缩小版本时,我收到来自这一行的另一个错误(“未定义”)define("jquery", function(){});
:. 我也不知道这条线来自哪里,这似乎是一件奇怪的事情......