小白关于使用gulp-babel插件的问题?望前辈不吝赐教!!!
我按照官方的方法编译后的js代码如图所示:
在浏览器加载的时候弹出错误如下:
问题:
显示require未定义,就想问一下,我需要自己定义一个AMD loader来实现编译后的require功能么?
对于这个不是很懂,一开始想着使用requirejs,但是想着那么多的require还是转向使用ES6的module,于是使用gulp插件gulp-babel对ES6代码编译,但是编译后的ES5代码中的
require()
我们如何去实现?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这里的
require
应该是 CommonJS 的require
函数,而不是 AMD 的,因为babel
默认是转换成 CommonJS 格式的。将 babel 的
modules
option 改成amd
就可以转换 AMD 标准的 module 了,转换后使用 require.js 来加载。当然,如果想兼容多种标准,可以改成umd
,这样即可以使用 require.js 来加载,也可以直接在 HTML 里引入。同求该问题,我之前也是不清楚这个require在浏览器如何实现,感觉像是nodeJS环境的require,(上面有人帮我解决了这个答案)所以我转去用
browserify (browserify其实是CommonJS方案) 去实现ES6的module,你可以看看我的项目 https://github.com/hjzheng/es6-practice
其它相关资料:
http://www.cnblogs.com/zjzhome/p/4848592.html
https://babeljs.io/docs/usage/modules/
今天也遇到了这个问题,在栈爆网上有个同样的问题,分享下
http://stackoverflow.com/questions/31593694/do-i-need-require-js-when-i-use-babel