6

私は Grunt を使用してDurandal スターター キットのプロパッケージをビルドしています。

1 つの小さな詳細を除いて、すべて正常に動作します。1 つのファイル (以下) をオプティマイザーから除外app-configし、ビルドが完了したときに縮小されていないファイルとして保持したいと考えています。

他の SO スレッドの提案に基づいて、現在、を使用して除外していempty:ます。これにより、期待どおりに最適化されたファイルから削除されます。ただし、ビルドされたプロジェクトを開くと、コンソールにエラーが表示されます。

Uncaught Error: main missing app-config

options: {
    name: '../lib/require/almond-custom',
    baseUrl: requireConfig.baseUrl,
    mainPath: 'app/main',
    paths: mixIn({ }, requireConfig.paths, { 
         'almond': 'lib/require/almond-custom', 
         'app-config': 'empty:' 
    }),
    optimize: 'none',
    out: 'build/app/main.js',
    preserveLicenseComments: false
}

問題はアーモンド?を使用して完全なrequirejsに切り替えてみましたが、include: ['path/to/require']成功しませんでした。

ローカルで再現したい場合は、上記のリンクからスターター キットをダウンロードするか、私の例に近いわずかに構成されたバージョンを使用できます。フォルダー内で実行するだけで、npm installすべて設定されます。

4

3 に答える 3

3

ソースコードをダウンロードし、次の手順を実行します。

  1. zip ファイルを展開して開きcmd、ディレクトリをこのフォルダに変更します。
  2. 実行npm installして、すべての依存関係をインストールします。
  3. 実行gruntしてプロジェクトのビルドを開始します。

そして、http://localhost:8999/を開いて、あなたの中にあるアラート1を見たとき。クリックしてアラートを非表示にすると、Web ページは問題なく動作します。他に入力はありますか?alert(appConfig.foo);main.jsOk

最初の一歩

第二段階

したがって、この問題にどのように直面しているのかわかりません。

于 2016-10-10T05:49:48.087 に答える
0

試す:

....
paths: mixIn({ }, requireConfig.paths, { 
     'almond': ['lib/require/almond-custom', '!lib/require/almond-custom/app-config.js']
}),
....

app-config.jsの 2 番目のパスが正しいことに注意してください。直接的な解決策ではないにしても、上記はヒントです。

于 2016-10-15T09:01:44.330 に答える
0

durandalこの特定のリンクで見つかっ た問題の参照からgrunt-durandal

メイン モジュールは、の実装を制御しますdurandal services 。リンクは次の場所にあります。main.js

ここで system.debug(true) を確認できます。ポスト ヒアドキュメントに書かれているように削除できます。

記事で引用されている機能Overrides request execution timeout making it effectively infinite

また、grunt で uglify を使用している間、ドキュメントに従ってデバッグが false に設定されます。

ドキュメントに従って、system.debug(false) を設定する必要があります

これが少し役立つことを願っています。

于 2016-10-14T23:21:15.513 に答える