2

我正在使用RequireJS来组织我的Backbone应用程序,并且我正在尝试在网站外部开发期间使用LessCSSrequire ,以避免页面呈现样式非常缓慢。

<script type="text/javascript" data-main="/js/config.js" src="/js/libs/require/require-2.1.8.min.js"></script>
<link rel="stylesheet/less" type="text/css" href="http://website.local/css/styles.less">
<script type="text/javascript">
    less = {
        env:"develop"
    }
</script>
<script type="text/javascript" src="/js/libs/less/less-1.4.1.min.js"></script>

当我在外部加载LessCSSJavaScript 文件RequireJS以编译我的 LESS 代码时,出现以下错误Chrome debugger

Uncaught Error: Mismatched anonymous define() module: function (){return r}

RequireJS仅当我在请求之外加载外部库时才会引发错误。

是否存在某种方法来避免 RequireJS 引发此错误并让我使用像 LessCSS 这样的外部 JavaScript 库?

4

2 回答 2

2

尝试在require之前少加载(和执行);IE:

<link rel="stylesheet/less" type="text/css" href="http://website.local/css/styles.less">
<script type="text/javascript">
    less = {
        env:"develop"
    }
</script>
<script type="text/javascript" src="/js/libs/less/less-1.4.1.min.js"></script>
<script type="text/javascript" data-main="/js/config.js" src="/js/libs/require/require-2.1.8.min.js"></script>

这样 less 不会看到 AMD 环境并作为标准脚本加载。

否则,您应该通过require()-ing 来减少加载(例如 mallim 提到的 rwquire-less 插件)。

于 2013-09-17T09:58:29.663 回答
0

您可以考虑使用 Guybedford 的 require-less 插件 ( https://github.com/guybedford/require-less ) 来帮助您。

另一种选择是使用较少的编译器来编译为 css 并加载 css。

于 2013-09-16T01:21:09.727 回答