ES6 modules + Gulp
ES6 modules + Gulp
我需要创建捆绑包,用es6模块编写的应用程序。示例:
import Api from 'api';
function Loader(){
// some code that user api
};
export default Loader;
通过gull-es6-模块传输程序开发转换为AMD的版本,并与RequireJS配合良好。但我找不到从中构建捆绑包的方法。我尝试过使用gull-es6-模块传输程序和gull-browsrify:
gulp.task('build_js', function() {
gulp.src('app/**/*.jsx')
.pipe(gulp_react({errLogToConsole: true}))
.pipe(transpiler({
type: 'cjs'
}))
.pipe(gulp.dest('./' + build_fld + '/'));
});
gulp.task('brow', ['build_js'] function(){
gulp.src('dist/auto-name.js')
.pipe(browserify())
.pipe(gulp.dest('./' + build_fld + '/'));
});
但是我有来自Browserify的错误:
Error: module 'name' not found from 'd:''Work''lib.react-suggest''dist''fake_32525252.js';
但总的来说,这是一种糟糕的方式,因为据我所知,browserify不支持乙烯基流,它需要首先使用CommonJS模块构建js文件,然后使用用户browserify。
也许我理解了一些错误,它可以从一个流中构建?还有哪些其他可能的解决方案?因此,我希望AMD进行开发,CommonJS或Global进行生产。
应用程序文件结构我有什么:
/app
-app.jsx
-component1.jsx
-component2.jsx
-index.html
/.tmp
/dist
gulpfile.js
结果我想要:
/app
-app.jsx
-component1.jsx
-component2.jsx
-index.html
/.tmp
-app.js
-component1.js
-component2.js
-index.html
/dist
-app.min.js
gulpfile.js
据我所知,Browserify确实接受add/request方法中的流。我不确定这一饮而尽是否会产生真正的效果。然而,坦率地说,当你可以直接调用browserifyAPI来产生结果时,为什么要在那里使用gullow?
var b = browserify();
b.add('dist/auto-name.js');
b.bundle().pipe(gulp.dest('./' + build_fld + '/'));
当然,除非你在用咕噜做其他你没有在这里展示过的魔术。在这种情况下,祝你好运:)
您可以使用0.2.0版本的gull-es6-模块传输程序。它支持bundle
和commonjs
格式化程序,因此构建捆绑包应该不是问题。至于AMD,您可以使用es6模块的传输程序和格式化程序模块。
相关文章:
- 当使用Watchify时,Browserify+Babelify Gulp任务没有终止
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- gulp Iconify任务抛出错误TypeError:Path必须是字符串.收到false
- Gulp Browserify combine JS
- 如何在使用loopback REST API时更改gulp-angular项目的端口号
- Gulp设置javascript对象
- Gulp:如何将CDN用于js-lib
- Gulp: Jscs with parameter
- 使用Gulp手柄部分编译为单个HTML文件
- "检测到可能的EventEmitter内存泄漏”;使用Gulp+Watchify+Factor捆绑包
- 最小化js时出现Gulp错误
- Gulp Git首先运行提交任务,然后运行推送任务
- 如何使用gulp-inject将文件的内容插入到我的index.html中
- 使用gulp-angular gettext从JS文件中提取字符串不起作用
- Gulp复制任务完成后如何执行通知
- gulp重命名多个文件
- Gulp和FTP:如何只传输文件夹的内容
- Gulp,浏览使用react作为CommonJS不起作用.React未定义
- 什么'Gulp错了
- ES6 modules + Gulp