gpt4 book ai didi

css - 如何使用 gulp 仅将引用的 .css 复制到目标?

转载 作者:太空宇宙 更新时间:2023-11-04 03:11:41 24 4
gpt4 key购买 nike

我可以使用一些帮助,只将引用的 css 包含到我的生产文件夹中。由于“**/*.css”,我的 bower_components 文件夹中的所有 css 文件都包含在内。有更好的方法吗?我的 index.html 中引用了所有必要的 CSS。

我的 gulp 文件如下所示:

var gulp = require('gulp'),
durandal = require('gulp-durandal');
var dest = '../production';

gulp.task('durandal', function() {
return durandal({
almond: true,
minify: true
}).pipe(gulp.dest(dest + '/app'));
});
gulp.task('statics', function() {
return gulp.src(['**/*.png', '**/*.css', '**/*.ttf', '**/*.woff', 'index.html', '**/require.js', '!./node_modules/**'])
.pipe(gulp.dest(dest));
});

gulp.task('build-simple', ['durandal', 'statics']);

感谢您的帮助。

更新:解决方案

var gulp = require('gulp'),
durandal = require('gulp-durandal'),
del = require('del'),
useref = require('gulp-useref'),
flatten = require('gulp-flatten');
var assets = useref.assets();
var dest = '../dist';

gulp.task('clean', function(cb) {
del(['../dist/*'], {
force: true
});
});
gulp.task('durandal', function() {
return durandal({
almond: true,
minify: true
}).pipe(gulp.dest(dest + '/app'));
});
gulp.task('assets', function() {
return gulp.src('index.html').pipe(assets).pipe(assets.restore()).pipe(useref()).pipe(gulp.dest(dest));
});
gulp.task('fonts', function() {
return gulp.src(['**/*.ttf', '**/*.woff', ]).pipe(flatten()).pipe(gulp.dest(dest + '/fonts'));
});
gulp.task('statics', function() {
return gulp.src(['**/*.png', '**/require.js', '!./node_modules/**']).pipe(gulp.dest(dest));
});

gulp.task('production', ['durandal', 'statics', 'assets', 'fonts']);

最佳答案

gulp-useref应该是适合您的工具,它甚至已经连接了引用的文件:

var gulp = require('gulp');
var useref = require('gulp-useref');
var assets = useref.assets();


gulp.task('assets', function() {
return gulp.src('app/index.html')
.pipe(assets)
.pipe(assets.restore())
.pipe(useref())
.pipe(gulp.dest('dist'));
})

你只需要在你的html文件中做一些注释:

<!doctype html>
<html>
<head>
<!-- build:css css/combined.css -->
<link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.css">
<!-- endbuild -->
</head>
<body>
<!-- build:css js/combined.js -->
<script src="../bower_components/jquery/dist/jquery.js"></script>
<!-- endbuild -->
</body>
</html>

关于css - 如何使用 gulp 仅将引用的 .css 复制到目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29409157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com