使用browserify创建反应应用程序有错误

我正在学习React并尝试创建一个简单的React应用程序。 我想使用ES2015模块和一些ES6功能,所以我安装了Babel并通过npm进行了浏览。

这些是我安装的节点模块:

  • 巴别塔
  • 巴别预置-ES2015
  • 巴别预置反应的
  • babelify
  • browserify
  • reactify
  • 乙烯基 - 缓冲
  • 乙烯基 - 源极 - 流
  • 应对
  • 反应-DOM
  • 我想将脚本制作成多个文件(比如itemComponent作为React),并将它们合并到真正网站加载的dist / app.js中。 为此,我用了一口气!

    这是我的gulpfile.js:

    var source = require('vinyl-source-stream');
    var gulp = require('gulp');
    var browserify = require('browserify');
    var reactify = require('reactify');
    var babelify = require('babelify');
    
    gulp.task('default', function() {
        return browserify('./source/' + file)
        .transform(babelify, { presets: ["es2015", "react"] })
        .bundle()
        .pipe(source(file))
        .pipe(gulp.dest('./dist'));
    });
    

    Gulp实际上运转良好,一切都很好,没有错误。 但检查网站,它说:

    app.js:19474 Uncaught ReferenceError:未定义React

    所以我删除了通过npm安装的反应和react-dom,只需下载React并从HTML加载,只需使用脚本标记即可,并且工作正常。 但我想包括这样的反应:

    import React from 'react';
    

    但它不起作用。 这是我的app.js:

    import React from 'react';
    import ReactDOM from 'react-dom';
    import ItemList from './components/itemlist';
    
    let items = [ ... ];
    
    class App extends React.Component {
        render() {
            return (
                <div>
                    <h1>List of items:</h1>
                    <ItemList items={this.props.items} />
                </div>
            )
        }
    }
    
    ReactDOM.render(<App items={items} />, document.getElementById('app'));
    

    我不知道是什么问题,我不想使用脚本标记加载每个反应文件。 有什么我错过了吗?

    链接地址: http://www.djcxy.com/p/32961.html

    上一篇: Create react app with browserify has error

    下一篇: Merge multiple browserify bundles in one stream