0

Angular 4プロジェクトの配置ツールをangular/cliに変更します。コマンドng buildは、結果として得られるバンドルをデフォルトでdistフォルダに置きます。角度cliビルドにgulpタスクを追加するには

私のカスタムタスクをこのプロセスに追加する方法を理解する必要があります。具体的には、.svg個のファイルを束ねてsprite.defs.svgファイルに縮小し、結果をdist/assets/svg/に配置する必要があります。以前の展開ツールチェーンでは、gulp-svg-sprite plugingulpを使用しました。

const svgSprite = require('gulp-svg-sprite'); 

gulp.src('**/*.svg') 
    .pipe(svgSprite({ 
    mode: { 
     defs: { 
     dest:'.', 
     sprite:"sprite.defs.svg" 
     } 
    } 
    })) 
    .pipe(gulp.dest('dist/assets/svg')); 

角度/ CLIのng buildにこのような何かを統合するための簡単な方法があります:ここに私のバンドルのステップでしたか?

答えて

5

言って、手動でこのようなコマンドを定義し、package.jsonのスクリプトセクションで

​​

としてこのゴクゴクタスクを実行します。

"prebuild": "gulp processSVG" 

NPMスクリプトを実行するのに十分なスマートです同じ名前のコマンドの前に "pre"プレフィックスを付けて、このプレフィックスを付けないでください。次に、次のコマンドを実行します。

npm run build 

このコマンドは、まずprebuildコマンドを実行し、次にbuildコマンドを実行します。

+0

ありがとうございます。 npmスクリプトの後に何かを実行するためのミラーコンベンションはありますか?例: '" postbuild ":" ... "'私は実際にはビルド後に実行するために私の仕事が必要...ちょうどテストし、それはまさにそれです。再度、感謝します。 – BeetleJuice

+0

はい、postbuildはビルド直後にコマンドを実行します。プレとポストはどのコマンドでも動作します。 –

関連する問題