0

モデルやコレクションなどをモバイルアプリからWebアプリに転送するには、RequireJSを構成する必要があります。

私は次のファイル構造を持っています:

/
/js
  /models
/mobile
  /js
  /templates

mobileアプリでメインアプリのモデルを使用したいので、次のように設定します。

require.config( {
    paths : {
        models : '/js/models',
        templates : 'mobile/templates'
    }
});

そして、Chromeで次のエラーが発生します。

Uncaught SyntaxError: Unexpected token < /mobile/js/models/User.js?bust=0.1.0:1
Uncaught SyntaxError: Unexpected token < /mobile/js/models/InviteRequest.js?bust=0.1.0:1
Uncaught SyntaxError: Unexpected token < /mobile/js/models/Log.js?bust=0.1.0:1

/mobileの代わりにまだ調べていることを意味し/ます。

このパス構成は私のtemplatesフォルダーでは機能しますが、私のフォルダーでは機能しませんmodelsmodels/メインモデルフォルダから始まるすべての必要な依存関係をどのように指摘できますか?

ありがとう!

試行2

代わりに設定してみましbaseUrlた:

require.config( {
    baseUrl : '/',
    paths : {
        views : 'mobile/views',
        templates : 'mobile/templates'
    }
});

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

エラーが発生します:

GET http://local.m.mysite.co/app.js 404 (Not Found) require.js:2
4

1 に答える 1

1

2回目の試行では、基本的にRequireJSに「app」モジュールをロードするように指示します。ベースURLを「/」に設定したため、RequireJSはルートパスで「app」モジュールを検索します。

したがって、あなたがする必要があるのは、RequireJSに'app'モジュールを探す場所を指示することです。'app'モジュールが/js/moduleにあるとします。

/
/js
  /models
  /module
    /app.js
/mobile
  /js
  /templates

次に、「app」モジュールをロードするコードは次のとおりです。

require.config( {
    baseUrl : '/',
    paths : {
        views : 'mobile/views',
        templates : 'mobile/templates'
    }
});

require( [
  'js/module/app'
],
function(app) {
    app.initialize();
});

または、構成で「モジュール」パスを設定することもできます。次に、依存関係の読み込みでこのパスを参照します。

require.config( {
    baseUrl : '/',
    paths : {
        views : 'mobile/views',
        templates : 'mobile/templates',
        module: 'js/module'
    }
});

require( [
  'module/app'
],
function(app) {
    app.initialize();
});

ATTEMPT 2の前にChromeで発生するエラーについては、モジュールの読み込み時にモジュールをどのように参照するかを確認する必要があります。

于 2013-04-18T22:04:56.147 に答える