[英]Error using crossroads.js in optimized (r.js) require setup
我使用RequireJS开发了一个应用程序,没有优化层-Require单独下载每个文件。 这是外部标记:
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
var require = {
//some basic config
};
</script>
</head>
<body>
<!--snip-->
</body>
<script type="text/javascript" data-main="main" src="scripts/lib/require.min.js"></script>
</html>
这个功能没有任何问题,但是有100多个文件,加载时间确实可以达到目的。 因此,该介绍r.js优化了 ! 我使用node和r.js创建一个组合文件,然后将data-main="main"
更改为data-main="_build/main"
。
我收到以下错误:
错误:匿名define()模块不匹配:(crossroads.js的整个主体)
思考:
我仍在挖掘,但希望有人可以在这里节省一些时间。
TL; DR; 使用crossmins.js的最小版本,因为您正在执行r.js构建,因此它将已经压缩源文件。
crossroads使用一个未命名的定义,并包装到一个自定义的UMD (通用模块定义)中。 由于r.js无法添加正确的模块名称,因此缩小版本无法正常运行。
缩小之前:
(function(define){define(["signals"], ...
缩小后:
(function(a){a(["signals"], ...
r.js无法弄清a
手段,它仅查找define
呼叫。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.