首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用r.js优化require.js文件

使用r.js优化require.js文件
EN

Stack Overflow用户
提问于 2013-03-30 17:36:14
回答 1查看 2.1K关注 0票数 2

我正在编写jquery插件。由于插件包含大量代码,所以我决定将代码分成几个文件并使用require.js。我正努力做到两件事:

  1. 能够使用require.js和插件的分离版本一起运行我的测试页面,并以此来调试代码。
  2. 能够使用require.js优化器(称为r.js)并从这些插件的文件中创建一个优化(组合和缩小)文件。

我的index.html包含:

代码语言:javascript
复制
<script data-main="js/site" src="js/vendor/require.js"></script>

我的js/site.js包含:

代码语言:javascript
复制
require([
    'jquery',
    ....
    ....
    'main' //<---- main plugin file
], function($) {

    $(function() {
        $('#elem').photosGrid();
    });
});

我的main.js文件包含:

代码语言:javascript
复制
define([
    'photos-grid' //<---- Class that initialized and build the plugin
], function(PhotosGrid) {
    jQuery.fn.photosGrid = function(options) {
        var photosGrid = new PhotosGrid(this, options);
        this.data('photosGrid', photosGrid);
        return this;
    };

    return jQuery;
});

为了配置r.js,我添加了build.js文件:

代码语言:javascript
复制
({
    baseUrl: '.',
    name: "main",
    out: "main-built.js"
})

当我运行我的index.html时,我的插件工作得很好。但是,当我运行node r.js时,我会得到以下错误:

代码语言:javascript
复制
Error: Mismatched anonymous define() module

当我用名称定义main.js时:

代码语言:javascript
复制
define('module-name', ['photos-grid'], function(PhotosGrid) { .....

node r.js不返回错误,但没有输出。此外,index.html不加载main.js (“照片-网格”)的依赖项,因此该网站无法工作。

我做错了什么?如何正确使用r.js?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-30 19:17:22

您忘记传递-o标志以在优化器模式下运行r.js官方文件中的更多细节

(...this似乎是带有r.js最流行的问题之一 )

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15721433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档