1
場景:如何從browserify/babelify導出全局變量以便在沒有browserify的項目中使用?
我有2個項目完全不同的設置:
- 正規的網站,通過簡單的設置一飲而盡
小寵物項目的遺留代碼。在ES6類的幫助下編寫的JS滑塊插件(使用babel進行傳輸)。 JS gulp任務:
gulp.task('js', function() { return gulp.src('src/scripts/*.js') .pipe($.plumber()) .pipe(through2.obj(function (file, enc, next) { browserify(file.path, { debug: true }) .transform(require('babelify')) .transform(require('debowerify')) .bundle(function (err, res) { if (err) { return next(err); } file.contents = res; next(null, file); }); })) .on('error', function (error) { console.log(error.stack); this.emit('end') }) .pipe($.rename('alder.js')) .pipe(gulp.dest('dist/scripts/'));
});
我想達到什麼目的?
我希望能夠使用這個常規網站browserify/babelify輸出的文件(沒有設置整個browserify/babelify的東西)。
問題
當然browserify/babelify中做一些神奇的東西,最後包裝所需的變量函數範圍是什麼隱藏這個變量/構造函數。所以問題是導出可用於其他項目的全局變量/構造函數的正確方法是什麼?在這一點上,我想到的唯一的事情就是我的功能附加到像窗口對象:
class Alder { // constructor and then methods }
export default Alder;
window['Alder'] = Alder
任何其他的想法?
感謝您的信息。看起來像這個選項實際上也將窗口對象附加到函數:) –
是的,但它也適用於CommonJS和其他環境。 –