2016-11-02 2 views
2

私が取り組んでいるプロジェクトはrequireJSを使用しています。 )RequireJS:他のAMDライブラリとの競合を避けるための開発環境のネームスペース

({ 
    // .. 
    namespace: 'projectCodeName', 
    // .. 
}); 

しかし、私は時々もrequireJSを使用していますが、それ:(を名前空間はありません別のライブラリをロードする必要があります。我々はそれを構築したいとき、非常にうまく機能し、私たちが使用しています。

私は自分のrequirejswindow.projectCodeName.require()にアクセスできるので、何の問題もありません。

しかし、devでは、期待どおりに動作しません。

私はrequireJS without uglyfyingを構築することができたが、それでも、ファイルの試合を失い残念である、行番号など

私は名前空間で開発モードでrequireJSを使用することができます。

<script data-namespace="projectCodeName" src="bower_components/requirejs/require.js"></script> 

乾杯


EDIT:ような何かが返す、

window.projectCodeName = window.projectCodeName || {}; 
window.projectCodeName.require = window.require; 
window.projectCodeName.requirejs = window.requirejs; 
window.projectCodeName.define = window.define; 
delete require; 
delete requirejs; 
delete define; 

delete requireは動作しません。残念ながら後者:

私は手動でのようにこれを実行しようとしましたfalse、つまりこれはnon-configurable propertyです。

私はrequirejsがグローバルな名前空間の問題を避けるのに本当に良いと思っていましたが、それは問題を引き起こしています。それは本当に迷惑で失望しています。

答えて

0

multiversion support in requirejsがあるため、プロジェクトごとにコンテキストを設定できます。これはdocページの例です。これは、あなたの望むことですか?

var reqOne = require.config({ 
    context: "version1", 
    baseUrl: "version1" 
}); 

reqOne(["require", "alpha", "beta",], 
function(require, alpha, beta) { 
    log("alpha version is: " + alpha.version); //prints 1 
    log("beta version is: " + beta.version); //prints 1 

    setTimeout(function() { 
    require(["omega"], 
     function(omega) { 
     log("version1 omega loaded with version: " + 
      omega.version); //prints 1 
     } 
    ); 
    }, 100); 
}); 

var reqTwo = require.config({ 
    context: "version2", 
    baseUrl: "version2" 
}); 

reqTwo(["require", "alpha", "beta"], 
    function(require, alpha, beta) { 
    log("alpha version is: " + alpha.version); //prints 2 
    log("beta version is: " + beta.version); //prints 2 

    setTimeout(function() { 
    require(["omega"], 
     function(omega) { 
     log("version2 omega loaded with version: " + 
     omega.version); //prints 2 
     } 
    ); 
    }, 100); 
}); 
関連する問題