2016-05-08 37 views
0

我正在嘗試瞭解gulp,browserify和反應,並且已經敲起了一個小測試項目。在我決定在那裏實現一些動畫之前,這沒有問題。具體來說這個:使用gulp,browserify並與插件反應

var React = require("react"); 
var ReactCSSTransitionGroup = React.addons.CSSTransitionGroup; 

我收到一個錯誤,因爲「React.addons」爲空。

我也有這個問題,我的構建正在走一個時代 - 在20秒和一分鐘之間。我認爲其原因部分是因爲反應本身被包含在我的包中,而我理想地希望從CDN中檢索它(或者至少將它分開)。

這是我gulpfile:

var gulp = require('gulp'); 
var browserify = require('browserify'); 
var babelify = require('babelify'); 
var source = require('vinyl-source-stream'); 

gulp.task('js', function() { 
    return browserify('./public/js/app.js', { 
     debug: false, bundleExternal: true 
    }) 
    .transform(babelify, {"presets": ["es2015", "react"]}) 
    .bundle() 
    .pipe(source('app.js')) 
    .pipe(gulp.dest('./build/js/')); 
}); 

如果我設置「bundleExternal」爲假,然後它停止反應,包括在我的JS - 但當時沒有工作,因爲「反應」未找到。我發現了一些有關browserify-shim的內容,但無法讓它從一攬子中獲益。並不確定這是否正確的路要走?

道歉爲新手問題!

回答

0

要包括ReactCSSTransitionGroup你需要先安裝它:

npm install react-addons-css-transition-group 

然後就需要它:

var ReactCSSTransitionGroup = require('react-addons-css-transition-group'); 
+0

但這解決的問題之一,謝謝。但是我的gulp構建仍然需要一分鐘左右,最終的JS文件包含所有的反應。我可以排除構建過程中的反應部分嗎? –