繁体   English   中英

在优化的(r.js)中使用crossroads.js时出错,需要进行设置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM