使用gulp-babel给出Uncaught ReferenceError:require未定义

dee*_*pak 6 reactjs gulp

我使用以下gulp.js文件

var gulp = require('gulp');
var babel = require('gulp-babel');

gulp.task('bundle', bundle);

function bundle () {
     gulp.src('./src/*.jsx')
    .pipe(babel())
    .pipe(gulp.dest('./dist'));
}

gulp.task('build', ['bundle']);
Run Code Online (Sandbox Code Playgroud)

在转换"main.jsx"内容之前

import React from 'react';
Run Code Online (Sandbox Code Playgroud)

在Transpile之后,在dist文件夹中生成的"js"文件有require('')

var _react = require('react');
Run Code Online (Sandbox Code Playgroud)

同时请求页面index.html

 <body>

    <div id="app" ></div>
    <script src="main.js"></script>

</body>
Run Code Online (Sandbox Code Playgroud)

未捕获的ReferenceError:未定义的require显示在控制台中.

我知道构建任务有问题,但我无法理解.

fra*_*ies 4

在浏览器中,你不能使用requireAPI​​,所以你需要以某种方式捆绑你的代码,你有几个选择:

  • 浏览器化
  • 网页包
  • 卷起

这些模块捆绑器允许您指定一个“入口”点,然后将所有必需的模块捆绑在一个文件中。

回答此问题的类似问题: Gulp + babelify + browserify issues