Gulp 设置 javascript 对象

Gulp settings javascript object

我正在为我的 gulpfile.js 做一些设置,但我遇到了问题。

我有设置 - 在 js 文字对象中 - 像这样:

// Directories
 var dirs = {
    source: './src/',
    build: this.source + 'build/'
};

// Files to read.
var paths = {
    sass: {
        src: dirs.source + 'sass/**/*.scss',
        dest: dirs.build + 'css/'
    },
    js: {
        src: dirs.source + 'js/**/*.js',
        dest: dirs.build + 'js'
    }
};

但是,当然,dirs.build returns ./undefinedbuild/ 目录而不是 ./src/build/ 目录。

有什么办法——或不同风格的设置——如何解决它(如何在 JS 中进行设置)?文字对象符号最适合我。

this 不是基于对象的,而是基于函数范围的。所以这在您的情况下是 global 或您所在的函数。另一方面,如果您直接键入 dirs.source,则此 属性 尚未定义。创建文字,然后添加属性:

// Directories
var dirs = {};
dirs.source = './src/';
dirs.build = dirs.source + 'build/'

// Files to read.
var paths = {
    sass: {
        src: dirs.source + 'sass/**/*.scss',
        dest: dirs.build + 'css/'
    },
    js: {
        src: dirs.source + 'js/**/*.js',
        dest: dirs.build + 'js'
    }
};

你可以做到

var dirs = {
    source: './src/',
    build: dirs.source + 'build/'
};