![](/img/trans.png)
[英]how to run a gulp task after angular-cli@webpack finishes bundling?
[英]How to add gulp task to angular cli build
我正在将Angular 4项目的部署工具切换为angular / cli 。 命令ng build
默认情况下会将生成的包放在dist
文件夹中。
我需要弄清楚如何将自定义任务添加到此过程中。 具体来说,我有很多.svg
文件需要捆绑并缩小为sprite.defs.svg
文件,并将结果放在dist/assets/svg/
。 使用我以前的部署工具链,我使用gulp
和gulp-svg-sprite
插件 。 这是我的捆绑步骤:
const svgSprite = require('gulp-svg-sprite');
gulp.src('**/*.svg')
.pipe(svgSprite({
mode: {
defs: {
dest:'.',
sprite:"sprite.defs.svg"
}
}
}))
.pipe(gulp.dest('dist/assets/svg'));
有没有一种简单的方法将这样的东西集成到angular / cli的ng build
?
比如,你手动运行这个gulp任务
gulp processSVG
在package.json的scripts部分中,定义如下命令:
"prebuild": "gulp processSVG"
npm脚本非常智能,可以在具有相同名称但没有此前缀的命令之前使用“pre”前缀运行命令。 现在,运行以下命令:
npm run build
此命令将首先运行prebuild命令,然后运行build命令。
还有另一种方法可以实现这一点,并设置你的ngbuild选项,然后添加“&& gulp ”和你的gulp任务,如下所示:
"scripts":{
"buildDev": "ng build --deleteOutputPath=true --sourceMap=true && gulp your-task"
}
我可以确认@Yakov Fain的解决方案仍适用于角7和我的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.