3

SPA と Mvc 3 を使用してハイブリッド アプリケーションを作成しています。

このようにメインファイルをロードしました

require
paths:
    jquery:'Libs/jquery/jquery-1.8.0.min'
    underscore:'Libs/Underscore/underscore.min'
    backbone:'Libs/Backbone/backbone-min'
    text:'Libs/Requirejs/text'
    bootstrap:'Libs/Bootstrap/bootstrap.min'
    jqValidation:'Libs/jquery/jquery.validate.min'
    jqValUnobtrusive : 'Libs/jquery/jquery.validate.unobtrusive.min'

shim:
    'underscore':
        exports : '_'
    'backbone':
        deps: ["underscore"]
        exports:'Backbone'
    'bootstrap': 
        deps : ['jquery']
        exports : 'jquery'
    'jqValidation':
        deps : ['jquery']
        exports: 'jQuery.fn.validate'
    'jqValUnobtrusive':
        deps: ['jquery', 'jqValidation']
        exports: 'jQuery.fn.validate.unobtrusive'

require ["App/app","backbone",'bootstrap'] ,(App,Backbone)->
app = new App()
Backbone.history.start()

現在、この同じ構成セットが他のファイルでも必要です。次に、必要なすべての main.coffee ファイルにこの構成をロードする方法を教えてください。この構成を冗長にしたくありません。1 か所だけ置いて、別の場所に呼び出したい。どうやってするか ?

4

1 に答える 1

0

単一の共有モジュールから require 構成をロードすることは、非常に良い計画です。

これは私が使用する方法です。異なるページと私のビルド システムはすべて同じ構成ファイルを使用します。トレードオフは、必要な依存関係をネストする必要があることですが、私にとっては価値がありました。

Index.html、またはその他のページ

<script>
    require(['require_config'], function () {
        require(['core'], function (core) {
            window._app = core.start();
        });
    })
</script>

require_config.coffee

define [], () ->
  require.config
    packages: [
      'core'
      'dashboard/widgets/base'
    ]
    paths:        
      # 3rd Party Bower Libraries
      handlebars: "bower_components/require-handlebars-plugin/Handlebars"
      underscore: "bower_components/underscore-amd/underscore"
      jqueryui: "bower_components/jquery-ui/jqueryui"
    shim:
      bootstrap:
        deps: [ 'jquery' ]
        exports: 'jquery'
      markdown:
        exports: 'markdown'
于 2013-07-30T17:50:39.873 に答える