我有一个模块“a”,它导出一个作为null. 这个变量被导入到模块“b”中。
在对初始变量进行一些更改后,我尝试从模块“b”再次访问它,结果发现我获得了原始null值。
这些变量不是作为参考导入的吗?意思是,它们应该反映在运行时稍后对它们所做的任何更改。
// main.js
import * as a from './a.js'
import * as b from './b.js'
// a.js
let test = null
export default test
export function change() {
test = 'test'
console.log(['in a.js change()', test])
}
console.log(['in a.js global', test])
// b.js
import test, { change } from './a.js'
console.log(['in b.js, pre a.change()', test])
change()
console.log(['in b.js, post a.change()', test])
/*
output:
Array [ "in a.js global", null ]
Array [ "in b.js, …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建两个 gulp 任务,我希望第二个任务获取第一个任务的输出流并继续对其应用插件。
我可以将第一个任务的返回值传递给第二个任务吗?
以下不起作用:
// first task to be run
gulp.task('concat', function() {
// returning a value to signal this is sync
return
gulp.src(['./src/js/*.js'])
.pipe(concat('app.js'))
.pipe(gulp.dest('./src'));
};
// second task to be run
// adding dependency
gulp.task('minify', ['concat'], function(stream) {
// trying to get first task's return stream
// and continue applying more plugins on it
stream
.pipe(uglify())
.pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('./dest'));
};
gulp.task('default', ['minify']);
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到这一点吗?