Gulp 创建页面特定 js 文件的任务,将通用 js 文件与页面特定文件连接起来
Gulp task to create page specific js files, concatenating common js files with page specific files
假设目录结构如
- 源/
- 脚本/
- _普通/
- common.js
- page1.js
- page2.js
我想创建不同的文件来连接 common + page1 和一个单独的 common + page2 文件。
输出看起来像
- 距离/
- 第1页/
- script.js
- 第2页/
- script.js
其中 script.js 是每个页面的特定 js 连接到 common。
我在 sass 方面有一些工作可以创建文件夹,所以我真正需要做的就是弄清楚如何获取特定于页面的文件并将它们放入以原始源文件命名的文件夹中
return gulp.src(paths.styles.src)
.pipe(sass().on('error', sass.logError))
.pipe(postcss(processors))
.pipe(rename(function(file) {
file.dirname = file.basename;
file.basename = 'style';
file.extname = '.css';
}))
.pipe(gulp.dest(paths.styles.dest));
为 js 试试这个:
const gulp = require("gulp");
const glob = require("glob");
const addSource = require("gulp-add-src");
const concat = require("gulp-concat");
const path = require("path");
// get an array of files
const files = glob.sync("./src/scripts/*.js");
gulp.task('default', function () {
files.forEach(function (file) {
return gulp.src(file)
// append or prepend here (prepend to put common.js first)
.pipe(addSource.prepend('./src/scripts/_common/common.js'))
.pipe(concat("script.js"))
.pipe(gulp.dest("dist/" + path.basename(file, '.js')));
});
});
假设目录结构如
- 源/
- 脚本/
- _普通/
- common.js
- page1.js
- page2.js
- _普通/
- 脚本/
我想创建不同的文件来连接 common + page1 和一个单独的 common + page2 文件。
输出看起来像
- 距离/
- 第1页/
- script.js
- 第2页/
- script.js
- 第1页/
其中 script.js 是每个页面的特定 js 连接到 common。
我在 sass 方面有一些工作可以创建文件夹,所以我真正需要做的就是弄清楚如何获取特定于页面的文件并将它们放入以原始源文件命名的文件夹中
return gulp.src(paths.styles.src)
.pipe(sass().on('error', sass.logError))
.pipe(postcss(processors))
.pipe(rename(function(file) {
file.dirname = file.basename;
file.basename = 'style';
file.extname = '.css';
}))
.pipe(gulp.dest(paths.styles.dest));
为 js 试试这个:
const gulp = require("gulp");
const glob = require("glob");
const addSource = require("gulp-add-src");
const concat = require("gulp-concat");
const path = require("path");
// get an array of files
const files = glob.sync("./src/scripts/*.js");
gulp.task('default', function () {
files.forEach(function (file) {
return gulp.src(file)
// append or prepend here (prepend to put common.js first)
.pipe(addSource.prepend('./src/scripts/_common/common.js'))
.pipe(concat("script.js"))
.pipe(gulp.dest("dist/" + path.basename(file, '.js')));
});
});