如何将es6导入转换为AMD需要
How to transform the es6 import to AMD require
我正在写这样的es6导入:
import $ from 'jquery';
$(document).ready(function(){
$('body').append($('<p>hello es6 module</p>'));
});
然后我想在浏览器中运行它,所以我只使用babel将它转换为es5文件,毫无疑问,babel会将它转换成CommonJS文件,所以我安装了babel插件"transform-es2015-modules.md",然后我再试一次,但这次,babel将我的es6代码转换为这种东西:
define(['jquery'], function (_jquery) {.........});
但我只想把它变成这样的东西:
require(['jquery'],function($){......});
所以我如何才能实现这个梦想,如果你能给我任何建议,我将不胜感激,非常感谢!
您需要一个用于浏览器集成的构建脚本。大口喝对那太好了就像这个例子一样。使用browsrify进行浏览器集成。将与需求和导入一起工作
//gullfile.js
var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require('babelify');
var source = require('vinyl-source-stream');
gulp.task('build', function () {
browserify({
entries: 'index.js',
extensions: ['.js'],
debug: true
})
.transform(babelify)
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('dist'));
});
gulp.task('default', ['build']);
在index.js中使用您想要的源代码,并在浏览器中使用bundle.js输出。
- Browserify遍历依赖树,从index.js开始
- 将源文件传输到ES5
- 把它们捆成一个文件
- 发送到dist目录
如果你不想像vendorlibsjquery这样捆绑所有东西,那么browserfy有一些配置选项。它们允许您在外部libs-ext上使用require进行浏览。我使用的是浏览全局填充程序。
结论:
npm install --save-dev browserify babelify
可选包装
browserify-global-shim
不需要吞咽,但有助于构建
gulp
相关文章:
- 需要帮助设置json数组
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 我需要从php调用javascript或jquery
- JQuery需要帮助理解(i,el)
- Amd,希望确保某个东西总是最后执行
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 需要垫片设置-jquery.flot/jquery.flot.selection
- 需要帮助谷歌地图方向面板在FancyBox中显示
- iframe正在添加标签,需要删除它们
- onclick函数需要双击,因为类分配延迟
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- 如何将es6导入转换为AMD需要
- 为什么串联的 RequireJS AMD 模块需要一个加载器
- 拖放区 AMD 需要 JS 问题
- 配置需要 js 才能在 javascript 中加载 AMD 模块
- Dojo需要AMD模块调试IE9
- 需要JS(AMD)在底层工作,将文件缩小到单个文件
- 需要Mootools AMD模块
- 我如何管理非amd依赖与需要的JS