ES6 -使用babel/traceur和jQuery插件
ES6 - Using babel/traceur with jQuery plugins
我希望能够使用jQuery插件编写ES6,并使用Gulp Babel将代码编译成ES5,而不必使用Browserify来使它们工作。
例如,我可能有一个这样的类:
import $ from 'jquery';
import somePlugin from 'somePlugin';
class myClass {
constructor(options) {
this.defaults = {
$body: $('body')
};
this.options = $.extend(this.defaults, options);
$body.somePlugin();
}
}
我可以得到这个工作,如果我使用Babelify,但我更愿意找到一种方式,我不需要依赖于另一个过程。当我使用Babel时,我在控制台中得到这个错误:Uncaught ReferenceError: require is not defined
。我检查了代码,它看起来像是将导入转换为需要。
是否有一种方法来解决这个问题,或者我必须坚持使用Browserify (Babelify)来编译JavaScript?
编辑:我目前正在使用browserify-shim使jQuery插件也工作
EDIT2:不,这不是关于RequireJS -我试图删除使用Babel的Browserify
回答我自己的问题。我做了一些研究,目前看来处理这个问题的最好方法是在es6模块加载器中使用jspm。
Gulpfile:
var gulp = require('gulp');
var del = require('del');
var shell = require('gulp-shell');
gulp.task('clean', function(cb) {
del('dist', cb);
});
gulp.task('default', ['clean'], shell.task([
'jspm bundle-sfx app/main -o dist/app.js',
'./node_modules/.bin/uglifyjs dist/app.js -o dist/app.min.js',
'./node_modules/.bin/html-dist index.html --remove-all --minify --insert app.min.js -o dist/index.html'
]));
HTML: <head>
<title>ES6</title>
<script src="jspm_packages/system.js"></script>
<script src="config.js"></script>
<script>
System.import('app/main');
</script>
</head>
我在这里创建的repo也将向您展示如何做到这一点
相关文章:
- 如何在Angular2中使用jQuery插件
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- 我的jQuery插件参数没有正确启动,遇到了问题
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- TableExport jquery插件:文件名和扩展名问题
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- jQuery插件-从插件中调用公共方法
- 扩展jQuery插件以更改配置
- "工具提示"jQuery插件坏了
- 不能在图像中的地图标记中使用花式框jquery插件的区域标记
- 使用Booklet Jquery插件,我如何验证最后一页是否显示
- 合并TinyMCE(jQuery插件)文件
- 带有jquery插件的backbone.js视图
- 自制jQuery插件已触发,但无法工作
- 我如何才能找到哪些网站使用我的jQuery插件
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在多个元素上使用jquery插件,只需稍作修改
- HtmlBox(jquery插件)在ajax调用中不起作用
- 构造jQuery插件
- 使用filedownload jquery插件处理FilePathResult返回值