2016-09-17 3 views
1

HTML starter kit proビルドを最適化するため、以下の単調な作業が含まれていますデュランダルのビルドプロセスを最適化するデュランダルため

  1. スクリプト:

    durandal: { 
        main: { 
         src: ['app/**/*.*', 'lib/durandal/**/*.js'], 
         options: { 
          name: '../lib/require/almond-custom', 
          baseUrl: requireConfig.baseUrl, 
          mainPath: 'app/main', 
          paths: mixIn({}, requireConfig.paths, { 
           'almond': '../lib/require/almond-custom.js' 
          }), 
          exclude: [], 
          optimize: 'none', 
          out: 'build/app/main.js' 
         } 
        } 
    } 
    

    私は整理あなたの助けを必要とし、それについていくつかの懸念を持っていますファイルの冗長性。ビルドプロセスは、libフォルダをjQuery、ブートストラップなどのスクリプトで保持します。なぜですか?あなたが見る場合はbuild/app/main.jsが組み込まれているこれらのスクリプトがすべて追加されています。これは私に次の質問につながります:

  2. libフォルダを削除すると、コンソールにrequire is not definedが表示されます。コードはまだlib/require/require.jsを探しますが、単にそこに追加するだけで解決できます。しかし、これはalmondはすべてについてですか?それは組み込まれたbuild/app/main.jsファイルに含まれています。私が知る限り、アーモンドは、最適化されたファイルで使用するための軽量代替品です。

問題を再現するには、上部のリンクにある「クイックスタート」を実行するだけです。

+0

このリンクをご利用いただけます:http://stackoverflow.com/questions/15684040/durandal-optimizer-references-wrong-path-when-building-it-as-a-post-build-proces –

+0

あなたの最初の懸念は、 "removeCombined:true"プロパティを試しましたか? – nikhil

+0

@nikhilはい、それは効果がないようです。 – Johan

答えて

1

はい、main.jsには、アプリを実行するために必要なものがすべて含まれています。あなたがrequire is not definedを取得している理由は、index.htmlファイルをよく見ると、index.html/lib/requireフォルダのファイルを検索し、main.jsファイルを読み込むためです。コメントのあるindex.htmlの直下に別の行があります。コメントを外すことができ、libディレクトリを削除しても機能するはずです。

<script src="app/main.js"></script>行のコメントを外して<script src="lib/require/require.js" data-main="app/main"></script>のコメントを外してから/libディレクトリを削除すると、エラーが発生します。

希望します。

+0

あなたがそれを考えるとかなり明白です。 2番目の目に感謝します! – Johan

関連する問題