8

http://requirejs.org/

最近、require.js 2.0 をダウンロードしましたが、コンソールにエラーが表示されます。

Uncaught TypeError: Object function (){var g=ga.call(arguments,0),e;if(f&&v(e=g[g.length-1]))e.__requireJsBuild=!0;g.push(d);return b.apply(null,g)} has no method 'nameToUrl'

order.js プラグインは今でも requirejs でサポートされていますか? ウェブサイトにドキュメントがありません。

ファイルを削除しようとすると、スクリプトが壊れます。

インデックス ファイルの head セクションに requirejs スクリプトを含めました。

<!DOCTYPE html>
<html>
    <head>
        <title>
            My Mobile Application
        </title>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
        <link rel="stylesheet" href="public/css/style.css" />
        <script data-main="scripts/main.js" src="scripts/require.js"></script>
    </head>
    <body></body>
</html>

次に、私の main.js ファイルで:

requirejs.config({
    //By default load any module IDs from js/lib
    baseUrl: 'js/lib',
    //except, if the module ID starts with "app",
    //load it from the js/app directory. paths
    //config is relative to the baseUrl, and
    //never includes a ".js" extension since
    //the paths config could be for a directory.
    paths: {
        app: '../app',
        assets: '../assets',
        views: '../app/views',
        templates: '../app/templates',
        collections: '../app/collections',
        models: '../app/models'
    }
});

// Start the main app logic.
requirejs([
    'jquery/jquery',
    'assets/jqm.config',
    'jquery/mobile',
    'text'
]);

require([
    'app'
    ],
    function( App ){
        $(document).ready( function(){
            App.initialize();
        });
    }
);

App.initialize にはエラーがなく、App.initialize が行っていることは単純な地理的位置情報であることを確認しています。requirejs は単に order.js を要求するだけで、コードを配置すると、上記と同じエラーが発生します。

ありがとうございました!

4

2 に答える 2

17

orderサポートされなくなったというあなたの仮定は正しいです。shim構成オプションを優先して削除されました。

そのため、オーダー プラグインは削除され、それぞれ use と wrap の Tim Branyen と Dave Geddes のリードに従って、requirejs 2.0 はその種の依存関係ツリー仕様を直接 requirejs に統合します。

2.0 アップグレード ノートが必要 - https://github.com/jrburke/requirejs/wiki/Upgrading-to-RequireJS-2.0

また、shimRequireJS サイトのドキュメントを確認してください - http://requirejs.org/docs/api.html#config-shim

于 2012-05-31T23:11:58.120 に答える
2

ああ、わかった。

//This is our main applicatoon boot loader or bootstrap
//here we are loading necessary scripts dependencies like
//jquery, jqm.config, mobile, text


requirejs.config({
    baseUrl: 'js/libs',
    //except, if the module ID starts with "app",
    //load it from the js/app directory. paths
    //config is relative to the baseUrl, and
    //never includes a ".js" extension since
    //the paths config could be for a directory.
    paths: {
        app: '../app',
        assets: '../assets',
        views: '../app/views',
        templates: '../app/templates',
        collections: '../app/collections',
        models: '../app/models'
    }
});

// Start the main app logic.

require(["jquery","assets/jqm.config","jquery/mobile","text","app"], 
    function(
    $,
    config,
    mobile,
    text,
    App
    ) {
    //the jquery.alpha.js and jquery.beta.js plugins have been loaded.
    $(function() {
        App.initialize();
    });
});
于 2012-06-01T00:01:25.533 に答える