0

私は grunt を介して requirejs オプティマイザー (r.js) を使用しています。これが私の requirejs 構成です。

requirejs.config
  baseUrl: '/scripts'
  locale: window.localStorage.getItem('locale') || null
  ...

問題は、grunt r.js プラグイン ( https://github.com/gruntjs/grunt-contrib-requirejs ) が、requirejs 構成内で変数を使用しようとするたびにエラーをスローすることです。

The main config file cannot be used because it cannot be evaluated correctly while running in the optimizer. Try only using a config that is also valid JSON, or do not use mainConfigFile and instead copy the config values needed into a build file or command line arguments given to the optimizer.

変数をロケールとして使用し、r.js を同時に使用できましたか?

4

1 に答える 1

1

設定localeは、実行時にのみ実際の値を取得します。実行時にのみ値を指定できる RequireJS の構成の一部については、次のようにします。

  1. 静的な情報を使用してrequire.config(または) を 1 回呼び出すだけです。requirejs.config構成には変数が含まれていません。r.jsこの静的情報を指します。

  2. require.config実行時に、計算​​される値を設定するへの追加の呼び出しが少なくとも 1 つあります。RequireJS は、複数の呼び出しをrequire.config1 つの構成に結合します。

r.jsファイル内で認識した最初の構成のみを使用します。requirejs.configしたがって、単一の呼び出しを静的部分と動的部分に分割して、それらを同じファイルに残すことができる場合があります。

于 2015-01-30T11:31:38.963 に答える