gpt4 book ai didi

javascript - 在优化 (r.js) 中使用 crossroads.js 时出错需要设置

转载 作者:行者123 更新时间:2023-11-28 02:30:02 33 4
gpt4 key购买 nike

我使用 RequireJS 开发了一个应用程序,没有优化层 - 需要单独下载每个文件。这是外部标记:

<!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 optimization !我使用 Node 和 r.js 创建一个组合文件,并将 data-main="main" 更改为 data-main="_build/main"

我收到以下错误:

Error: Mismatched anonymous define() module: (the entire body of crossroads.js)

想法:

我仍在挖掘,但希望有人可以在这里节省我一些时间。

最佳答案

TL;DR; 使用未缩小版本的 crossroads.js,因为您正在进行 r.js 构建,所以它已经压缩了源文件。

crossroads 使用未命名的定义并包装到自定义 UMD 中(通用模块定义)。由于 r.js 无法添加正确的模块名称,缩小版本将无法正常工作。

缩小之前:

(function(define){define(["signals"], ...

缩小后:

(function(a){a(["signals"], ...

r.js 无法弄清楚 a 的含义,它只查找 define 调用。

关于javascript - 在优化 (r.js) 中使用 crossroads.js 时出错需要设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14370667/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com