Có plugin gulp-requirejs, nhưng đó là blacklisted với thông báo sau: "sử dụng trực tiếp mô-đun require.js".Sử dụng mô-đun trình tối ưu hóa requirejs với Gulp
Tài liệu khá thưa thớt, cách tốt nhất tôi nên sử dụng nó cùng với công việc xây dựng Gulp?
Trong docs có một ví dụ:
var requirejs = require('requirejs');
var config = {
baseUrl: '../appDir/scripts',
name: 'main',
out: '../build/main-built.js'
};
requirejs.optimize(config, function (buildResponse) {
//buildResponse is just a text output of the modules
//included. Load the built file for the contents.
//Use config.out to get the optimized file contents.
var contents = fs.readFileSync(config.out, 'utf8');
}, function(err) {
//optimization err callback
});
Nhưng điều đó không giúp tôi nhiều ... Dưới đây là thử sức mình:
var gulp = require('gulp'),
r = require('requirejs').optimize;
var config2 = {
baseUrl: 'src/js',
name: 'config',
out: 'dist/js/main-built.js'
};
gulp.task('scripts3', function() {
gulp.src(['src/js/**/*.js'])
.pipe(r(config)
.pipe(gulp.dest(config.out))
});
Nhưng module requirejs không sử dụng suối , vì vậy nó sẽ không hoạt động.
Ngoài ra còn có rất nhiều Gulp thân thiện amd-optimize nhưng nó không giống như r.js, được nêu ra.
Vâng, tôi đã không sử dụng ngụm. Nhưng tôi có chuyên môn tốt xung quanh RequireJS và grunt và không grunt ... Vì vậy, dòng này là gì, chúng ta không thể sử dụng như nhiệm vụ bình thường trong gulp? – Vishwanath
Gulp sử dụng [Node stream] (https://nodejs.org/api/stream.html) và [vinyl] (https://github.com/wearefractal/vinyl). Vinyl là ma thuật đen cho tôi vào thời điểm này, [đây] (https://medium.com/@contrahacks/gulp-3828e8126466) một bài đăng tuyệt vời trên đó. Tôi cũng chỉ tìm thấy [vấn đề này] (https://github.com/jrburke/r.js/issues/785) đối phó với điều này. –
Tôi chỉ có thể chạy lệnh shell với gulp-shell. –