如何从browserify/babelify导出全局变量,以便在没有browserfy的情况下在项目中使用
How to export global variable from browserify/babelify to be used in project without browserify?
场景:
我有两个项目有完全不同的设置:
- 常规网站,带有简单gump设置的遗留代码
-
小型宠物项目。JS滑块插件是在ES6类的帮助下编写的(用babel编译(。JS吞咽任务:
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
还有其他想法吗?
设置standalone
选项:
当
opts.standalone
是非空字符串时,将使用该名称和umd包装器创建一个独立模块。可以在独立全局导出中使用命名空间,使用字符串名称中的.
作为分隔符,例如'A.B.C'
。全球出口产品将进行消毒和骆驼包装。
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在我的情况下,如何进行http请求
- 在不知道深度或父属性的情况下从对象中删除属性
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 如何在不影响其他元素的情况下扩展DIV
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 在不移动内部文本的情况下缩放元素的效果
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 默认情况下折叠和展开嵌套列表
- 在没有命令提示的情况下运行browserfy
- 如何从browserify/babelify导出全局变量,以便在没有browserfy的情况下在项目中使用