gpt4 book ai didi

javascript - gulp-useref 与几个 html 文件以及如何获取包含在 Assets 中的文件列表

转载 作者:行者123 更新时间:2023-11-28 06:48:03 25 4
gpt4 key购买 nike

如果我将 gulp-useref 与几个 html 文件一起使用,它每次都会使用相同的包进行处理。

  1. 有没有办法处理第一个传入的包并只是替换其他文件中的字符串?例如,如果您希望下面的代码 - gulp-useref 创建了两次vendor.js(第二次是重写以前的文件)。如果你有很多文件并且使用了 css 和 js 的压缩,那么它可能需要花费多少时间,具体取决于您使用的相同 bundle 中的文件数量。

  2. 如何复制未包含在 bundle 中的其他文件?

结构:

html-文件-1.html

<!-- build:js js/vendor.js -->
<script scr="js/script-1.js"></script>
<script scr="js/script-2.js"></script>
<!-- endbuild -->
<script scr="js/file-1-script.js"></script>

html-file-2.html

<!-- build:js js/vendor.js -->
<script scr="js/script-1.js"></script>
<script scr="js/script-2.js"></script>
<!-- endbuild -->
<script scr="js/file-2-script.js"></script>

任务:

var files = [],
getExcludedFiles = function() {
var temp = files;
for(var i = 0; i < temp.length; i++) {
temp[i] = "!" + temp[i]
}

return temp;
};

gulp.task("useref", function() {
var assets = useref.assets();

return gulp.src(path_to_htmls)
.pipe(assests)
.pipe(some_function_to_store_bundle_files_in_some_var)
.pipe(gulpif('*.js', uglify()))
.pipe(assets.restore())
.pipe(useref())
.pipe(gulp.dest(dets_path))
});


gulp.task("js", ["useref"], function() {
return gulp.src([path_to_JS, getExcludedFiles()])
.pipe(gulp.dest(JS_dets_path))
});

最佳答案

我认为gulp-cached可以满足您的需要。

https://github.com/contra/gulp-cached

This keeps an in-memory cache of files (and their contents) that have passed >through it. If a file has already passed through on the last run it will not be >passed downstream. This means you only process what you need and save time + resources.

关于javascript - gulp-useref 与几个 html 文件以及如何获取包含在 Assets 中的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33221672/

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