首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >amd和coffeescript

amd和coffeescript
EN

Stack Overflow用户
提问于 2013-02-02 15:35:50
回答 1查看 339关注 0票数 2

我是一个组合的coffeescriptrequire.js的AMD。

问题是,我必须为require.js加载的每个模块返回一个值,并且我会这样做。但是..。coffeescript帮助我解决问题并追加:(function() {}).call(this);。这破坏了我的密码。

main.js

代码语言:javascript
复制
require.config( {
    paths: {
        'backbone':         'libs/AMDbackbone-0.5.3',
        'underscore':       'libs/underscore-1.2.2',
        'text':             'libs/require/text',
        'jquery':           'libs/jquery-1.7.1',
    },
    baseUrl: '/app'
} );

require(
        ['require', 'backbone', 'jquery', 'underscore' ],
        function( require, Backbone, $, _ ) {
            // framework loaded
            require(
                    ['require', 'app'],
                    function( require, app) {
                        return {};
                    } );
        } );

app.js

代码语言:javascript
复制
define( [
    'jquery',
    'underscore',
    'backbone',
    'views/gameview',
], function( $, _, Backbone, GameView, ) {
    "use strict";

    window.app = {};

    $(function(){

        var app = window.app = _.extend({

            views: {
                GameView: new GameView
            },
            //code..
        }, window.app);

    //code...
    return window.app;
} );

和coffeescript:

/views/gameview.coffee

代码语言:javascript
复制
define ["jquery", "underscore", "backbone"], ($, _, Backbone, RankView) ->
  "use strict"
  GameView = Backbone.View.extend()
  GameView

这意味着:

/views/gameview.js

代码语言:javascript
复制
(function() {

  define(["jquery", "underscore", "backbone"], function($, _, Backbone) {
    "use strict";

    var GameView;
    GameView = Backbone.View.extend({...});
    return GameView;
  });

}).call(this);

但我想把它翻译成:

代码语言:javascript
复制
  define(["jquery", "underscore", "backbone"], function($, _, Backbone) {
    "use strict";

    var GameView;
    GameView = Backbone.View.extend({...});
    return GameView;
  });

最好在控制台中使用它:控制台中的var GameView = new app.views.GameView;

我如何强制coffeescript编译器不这样做?有国旗什么的吗?

再说一遍:我只想切断(function() {}).call(this); --它背后的和代码并不那么重要,不管是全局的还是非全局的。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-02 18:05:32

在编译咖啡文件时,可以使用--bare标志:

-b--bare在没有顶层函数安全包装器的情况下编译JavaScript .

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

https://stackoverflow.com/questions/14663461

复制
相关文章

相似问题

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