gpt4 book ai didi

javascript - 模块化gulp/node.js,调用模块变量

转载 作者:行者123 更新时间:2023-11-30 00:21:41 24 4
gpt4 key购买 nike

尝试使用 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 中的函数仅接收 gulpplugins 作为其参数,它无法访问 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/

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