运行构建任务时,useref没有达到我的预期:
在我的索引中我有:
<!-- build:css /assets/styles/lib.css -->
<!-- bower:css -->
<link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.css" />
<!-- endbower -->
<!-- endbuild -->
<!-- build:css /assets/styles/main.css -->
<!-- inject:css -->
<link rel="stylesheet" href="assets/styles/main.css">
<!-- endinject -->
<!-- endbuild -->
<!-- build:js /lib.js -->
<!-- bower:js -->
<script src="/bower_components/jquery/dist/jquery.js"></script>
<script src="/bower_components/angular/angular.js"></script>
<!-- endbower -->
<!-- endbuild -->
<!-- build:js ./project.js -->
<!-- inject:js -->
<script src="app.js"></script>
<!-- endinject -->
<!-- endbuild -->
所以在我的gruntfile中我有一个任务:
gulp.task('build-optimise', function () {
log('Optimising project');
return gulp.src(config.app + 'index.html')
.pipe($.useref({searchPath: ['./bower_components', config.app]}))
.pipe($.print())
.pipe($.if('*.js', $.uglify({
mangle: false
})))
.pipe($.if('*.css', $.minifyCss()))
.pipe(gulp.dest(config.dist));
}); // config.app = ./local which contains my local build
运行我的任务时,会生成一个lib.js文件和一个assets / styles / lib.css文件,但没有project.js,也没有assets / styles / main.css
我该如何解决这个问题?我的js文件是用打字稿编写的,并且已经被linted和成功创建,css来自sass,我很确定它们没有错误,所以它一定是别的......
答案 0 :(得分:0)
我在项目中做了类似的事情
我的gulp任务适合你的情况就像这样
gulp.task('build-optimise', function () {
log('Optimising project');
return gulp.src(config.app + 'index.html')
.pipe($.useref())
.pipe($.if('*.js', $.uglify()))
.pipe($.if('*.css', $.minifyCss()))
.pipe(gulp.dest(config.dis));
});
希望这会有所帮助