現在、Acquia で drupal サイトの開発を開始しています。git を使用してローカルで作業することは、私にとって新しいワークフローです。ローカルでビルドして Modernizr load / yepnope を利用しようとすると、script.js ファイル内の JS は通常、次のようになります。
Modernizr.load([
{
test: Modernizr.mq('only all'),
nope: '/sitename/docroot/sites/all/themes/theme/js/libs/polyfill.js'
},
....
これは私のマシンでローカルに機能しますが、変更をコミットして aquia 開発サーバーにプッシュすると、ロードされたスクリプトのファイル パスが正しくありません。
http://mysite.devcloud.acquia-sites.com/mysite/docroot/sites/all/themes/theme/js/libs/polyfill.js
URL に mysite/docroot を含めずに、以下のようにする必要があります。
http://mysite.devcloud.acquia-sites.com/sites/all/themes/theme/js/libs/polyfill.js
これで Drupal.settings.basePath にたどり着きました。これを印刷すると、ローカル セットアップに /mysite/docroot/ が表示されます。開発サーバーで実行すると、別のものが出力されます(おそらく / だけ)。
だから私はアマチュアなので、このようなことができると思っていました..(貧弱なサンプルを許してください、もっとうまくできることはわかっています)
var myroot = Drupal.settings.basePath
Modernizr.load([
{
test: Modernizr.mq('only all'),
nope: myroot + 'sites/all/themes/theme/js/libs/polyfill.js'
},
....
そして、これはもちろん機能しません。query1 が定義されていないことを返すだけです。
したがって、これを機能させるための多くの試みには間違いがあると確信しています..ワークフローに関連するもの、またはセットアップ/コードを修正する方法など、誰かが私に何かを提案できれば、それは素晴らしいことです.
ありがとう