@@ -11,6 +11,7 @@ var del = require('del');
1111var runSequence = require ( 'run-sequence' ) ;
1212var browserSync = require ( 'browser-sync' ) ;
1313var browserify = require ( 'browserify' ) ;
14+ var babelify = require ( 'babelify' ) ;
1415var watchify = require ( 'watchify' ) ;
1516var source = require ( 'vinyl-source-stream' ) ;
1617var buffer = require ( 'vinyl-buffer' ) ;
@@ -30,6 +31,7 @@ var AUTOPREFIXER_BROWSERS = [
3031] ;
3132
3233var paths = {
34+ bootjs : 'app.jsx' ,
3335 dist : {
3436 base : 'dist' ,
3537 js : 'dist/js' ,
@@ -105,7 +107,7 @@ gulp.task('copy:venders', function () {
105107 . pipe ( $ . size ( { title : 'copy:venders' } ) ) ;
106108} ) ;
107109// 拷贝相关资源
108- gulp . task ( 'copy' , function ( ) {
110+ gulp . task ( 'copy' , [ 'copy:venders' ] , function ( ) {
109111 return gulp . src ( [
110112 'app/**/*' ,
111113 '!app/*.html' ,
@@ -168,12 +170,14 @@ gulp.task('styles', function () {
168170 . pipe ( $ . size ( { title : 'styles' } ) ) ;
169171} ) ;
170172
171- // 打包 Common JS 模块,此处使用 ES6 的话,需要调整设置
173+ // 打包 Common JS 模块,此处使用 ES6 的话,选用 babel 编译 ES6,需要调整设置
174+ // TODO: 是否将 browserify 改为使用 webpack 来实现
172175var b = browserify ( {
173176 cache : { } ,
174177 packageCache : { } ,
175- entries : [ './app/js/app.js' ] ,
178+ entries : [ ( './app/js/' + paths . bootjs ) ] ,
176179 debug : ! isProduction ,
180+ // extensions: [".jsx"],
177181 transform : [ 'babelify' ]
178182} ) ;
179183
@@ -204,12 +208,13 @@ b.transform('browserify-shim', {global: true});
204208
205209var bundle = function ( ) {
206210 var s = (
207- b . bundle ( )
211+ b . transform ( babelify ) . bundle ( )
208212 . on ( 'error' , $ . util . log . bind ( $ . util , 'Browserify Error' ) )
209- . pipe ( source ( 'app.js' ) )
213+ . pipe ( source ( paths . bootjs ) )
210214 . pipe ( buffer ( ) )
211215 // .pipe($.sourcemaps.init())
212216 // .pipe($.sourcemaps.write("."))
217+ . pipe ( $ . rename ( 'app.js' ) )
213218 . pipe ( gulp . dest ( paths . dist . js ) )
214219 . pipe ( $ . size ( { title : 'script' } ) )
215220 ) ;
@@ -261,13 +266,13 @@ gulp.task('watch', function() {
261266// 启动预览服务,并监视 Dist 目录变化自动刷新浏览器
262267gulp . task ( 'dev' , [ 'default' , 'watch' ] , function ( ) {
263268 browserSync ( {
264- // port: 5000, //默认3000
265- // ui: { //更改默认端口weinre 3001
266- // port: 5001,
267- // weinre: {
268- // port: 9090
269- // }
270- // },
269+ port : 5000 , //默认3000
270+ ui : { //更改默认端口weinre 3001
271+ port : 5001 ,
272+ weinre : {
273+ port : 9090
274+ }
275+ } ,
271276 // server: {
272277 // baseDir: 'dist/docs'
273278 // },
@@ -284,7 +289,7 @@ gulp.task('dev', ['default', 'watch'], function () {
284289gulp . task ( 'default' , function ( cb ) {
285290 console . log ( '生产环境:' + isProduction ) ;
286291 //runSequence('clean', ['styles', 'jshint', 'html', 'images', 'copy', 'browserify'], cb);
287- runSequence ( 'clean' , [ 'styles' , 'html' , 'images' , 'copy:venders' , 'copy ', 'browserify' ] , cb ) ;
292+ runSequence ( 'clean' , [ 'styles' , 'html' , 'images' , 'copy' , 'browserify' ] , cb ) ;
288293} ) ;
289294
290295
0 commit comments