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