gulp 编译es6 react 教程 案例 配置
1.gulp基本配置:
var gulp = require('gulp'),
watch = require('gulp-watch'),
babel = require('gulp-babel');
var browserify = require('gulp-browserify');
var SourceMap = require('gulp-sourcemaps');
var SourceMapSupport = require('gulp-sourcemaps-support');
gulp.task('react', () => {
gulp.src('index.js')
.pipe(SourceMap.init()) //sourcemap只是为了生成代码资源的map
.pipe(babel({
presets: ['es2015', 'es2016', 'es2017', 'stage-0', 'react'],
plugins: ['transform-decorators-legacy']
})) //这里编译es6代码,包括编译react模板
.pipe(browserify({
insertGlobals : true,
debug : !gulp.env.production
})) //browserify 的作用就是把require资源从node_modules 里拿出来,然后打包进去到输出的js,如果没有这个插件,那么你不能看到import进来的东西,import的东西没有被打包进去
.pipe(SourceMap.write('.'))
.pipe(gulp.dest('build'))
});
gulp.task('default', () => {
return watch('./index.js', function() {
gulp.run('react');
});
});
2.优化
var gulp = require('gulp'),
watch = require('gulp-watch'),
babel = require('gulp-babel');
var envify = require('gulp-envify');
var browserify = require('gulp-browserify');
var SourceMap = require('gulp-sourcemaps');
var uglify = require('gulp-uglifyjs');
var SourceMapSupport = require('gulp-sourcemaps-support');
gulp.task('react', () => {
var environment = {
NODE_ENV: 'production'
};
gulp.src('index.js')
.pipe(SourceMap.init())
.pipe(babel({
presets: ['es2015', 'es2016', 'es2017', 'stage-0', 'react'],
plugins: ['transform-decorators-legacy']
}))
.pipe(browserify({
insertGlobals: true,
debug: !gulp.env.production,
transformKey: 'production'
}))
.pipe(envify(environment)) //加入这个插件可以修改代码中的环境等于production
.pipe(uglify())
.pipe(SourceMap.write('.'))
.pipe(gulp.dest('build'))
});
gulp.task('default', () => {
return watch('./index.js', function() {
gulp.run('react');
});
});
gulp 编译es6 react 教程 案例 配置的更多相关文章
- gulp 编译es6 探究
1.gulp配置: var gulp = require('gulp') var fs = require("fs") var babelify = require('babeli ...
- webpack4 系列教程(二): 编译 ES6
今天介绍webpack怎么编译ES6的各种函数和语法.敲黑板:这是webpack4版本哦, 有一些不同于webpack3的地方. >>> 本节课源码 >>> 所有课 ...
- 使用gulp和bable实现实时编译ES6代码
这篇文章最初发表在我自己折腾的博客站点上:使用gulp和bable实现实时编译ES6代码,该博客用了一位前辈开源的源码,基于thinkjs和vuejs开发,欢迎大家来逛逛. 问题描述> 项目开发 ...
- guulp配置编译ES6
下面是gulp的配置文件,gulp具体使用点击查看 首先全局安装下 cnpm install gulp -g gulpfile.js gulp配置文件 var gulp = require(&quo ...
- gulp打包js多个文件夹并压缩混淆,编译ES6语法,及多个import依赖由一个入口打包成一个cdn
感觉和webpack的步骤差不多 首先安装gulp:参考上一篇 安装完之后 新建一个文件目录起名 在当前目录下打开cmd 执行:npm init 创建package.json文件 然后安装第一个插件g ...
- webpack打包和gulp打包工具详细教程
30分钟手把手教你学webpack实战 阅读目录 一:什么是webpack? 他有什么优点? 二:如何安装和配置 三:理解webpack加载器 四:理解less-loader加载器的使用 五:理解ba ...
- 使用gulp 进行ES6开发
使用gulp 进行ES6开发 一.新建项目 项目结构如下: /app -- /js -- /css /dist -- /js -- /css -- index.html gulpfile.js 我们的 ...
- 史上最全Windows版本搭建安装React Native环境配置
史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...
- gulp编译less简单demo
写个简单的less.watch任务的demo分享———— 1.准备: 安装全局node.npm,这个教程很多不作详细介绍: 安装全局gulp npm install -g gulp 新建getstar ...
随机推荐
- opencv人脸识别代码
opencv人脸识别C++代码 /* * Copyright (c) 2011,2012. Philipp Wagner <bytefish[at]gmx[dot]de>. * Relea ...
- No MaterialLocalizations found (Flutter)
在显示SimpleDialog时候程序报错 No MaterialLocalizations found 没有找到 MaterialLocalizations 搜索找到原因 runApp 需要先调用 ...
- angular学习第一天——安装batarang踩到的那些坑儿
angularjs作为一个新兴的JavaScript框架,因其具有不少新特性,比如mvc开发模块,双向数据绑定等等,使其名声大噪.我也久闻其大名,然而因为时间问题,一直都没有去接触过他.这几天工作 ...
- Update 20180317
Date todo 20180317 Opencv a) Install opencv+python+ide (http://opencv-python-tutroals.readth ...
- javascript, jquery, nodejs学习2
debug tools http://stackoverflow.com/questions/1911015/how-to-debug-node-js-applications node inspec ...
- 什么是 PWA?
出处:https://segmentfault.com/a/1190000012353473
- SQL Server 2005无法远程连接的解决方法 (转帖)
方法如下: 一.为 SQL Server 2005 启用远程连接1. 单击"开始",依次选择"程序"."Microsoft SQL Server 2 ...
- centos下cmake编译安装mysql5.7.24
一.centos6.5推荐最小安装.自定义添加如图两个包 二.安装cmake3.0(mysql5.7要求cmake2.9以上.cmake3.1要求gcc g++4.8以上.所以选自3.0) 1.分别执 ...
- ecstore-安装提示flock,即使绕过检测,安装成功后还是提示t function 解决办法
安装时先绕过去 安装好后,修改config.php里的TMP_DIR,指向网站目录下的data目录(用绝对路径) 分析:应该是php的运行用户没有对tmp目录的写权限.中电云集的管理工具就出现过
- debian下erlang新版本安装
debian下的erlang版本太老 安装kerl,并且在profile内添加到PATH curl -o ~/dev/erlang/kerl https://raw.githubusercontent ...