尝试使用 gulpfile.js 从 scripts.js 调用 gulp 任务,并使用来自 gulpconfig.js 的路径变量。开始迷失在依赖中
脚本.js :
module.exports = function(gulp, plugins) {
return function() {
gulp.src(srcAssets)
.pipe(plugins.concat('main.js'))
.pipe(plugins.uglify())
.pipe(gulp.dest(dest))
};
};
gulpconfig.js :
module.exports = {
srcAssets : "../src/assets/js/*.js",
dest : "../../build",
}
Gulpfile.js :
var plugins = require('gulp-load-plugins')();
var config = require('./gulpconfig');
var srcAssets = config.srcAssets;
var dest = config.dest;
function getTask(task) {
return require('./gulp-tasks/' + task)(gulp, plugins);
}
gulp.task('scripts', getTask('prod/scripts'));
结果:未定义 srcAssets。我不明白,我是否也需要在 scripts.js 模块中声明变量?这违背了配置文件的目的..
最佳答案
scripts.js
中的函数仅接收 gulp
和 plugins
作为其参数,它无法访问 srcAssets
。最简单的解决方案是发送和接受 config
作为附加参数:
Gulpfile.js:
function getTask(task) {
return require('./gulp-tasks/' + task)(gulp, plugins, config);
}
脚本.js:
module.exports = function(gulp, plugins, config) {
return function() {
gulp.src(config.srcAssets)
.pipe(plugins.concat('main.js'))
.pipe(plugins.uglify())
.pipe(gulp.dest(config.dest))
};
};
关于javascript - 模块化gulp/node.js,调用模块变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32909990/