簡體   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