当我尝试使用传播运算符有条件地合并两个对象时,当条件为true或时,它将起作用false:
let condition = false;
let obj1 = { key1: 'value1'}
let obj2 = {
key2: 'value2',
...(condition && obj1),
};
// obj2 = {key2: 'value2'};
Run Code Online (Sandbox Code Playgroud)
当我尝试对数组使用相同的逻辑时,它仅在条件为时才起作用true:
let condition = true;
let arr1 = ['value1'];
let arr2 = ['value2', ...(condition && arr1)];
// arr2 = ['value2', 'value1']
Run Code Online (Sandbox Code Playgroud)
如果条件为false错误,则抛出:
let condition = false;
let obj1 = { key1: 'value1'}
let obj2 = {
key2: 'value2',
...(condition && obj1),
};
// obj2 = {key2: …Run Code Online (Sandbox Code Playgroud)当我尝试用gulp覆盖文件时遇到问题.为了让你理解我的问题这里是我想要做的一个例子:我的项目文件路径:
- Project
|- clients
|- clientBase
|- JS
|- jsexample.js
|- jsexample2.js
|- CSS
|- HTML
|- client1
|- JS
|- jsexample2.js
|-dist
Run Code Online (Sandbox Code Playgroud)
dist.const args = require('yargs').argv;
const src = {
base: './Project/clients/clientBase',
client: `./Project/clients/${args.client}`,
};
const dist = './Project/dist';
const runSequence = require('run-sequence');
gulp.task('copy:base', function(){
return gulp
.src(`${src.base}/**/*`)
.pipe(gulp.dest(dist))
});
gulp.task('copy:client', function(){
return gulp
.src(`${src.client}/**/*`)
.pipe(gulp.dest(dist))
});
gulp.task('copy', function(){
if (args.client) {
runSequence('copy:base', 'copy:client');
} else {
runSequence('copy:base');
}
});
Run Code Online (Sandbox Code Playgroud)
问题是dist文件没有被copy:client …