Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以编程方式使用Babelify sourceType时出错_Javascript_Reactjs_Browserify_Ecmascript 6_Babeljs - Fatal编程技术网

Javascript 以编程方式使用Babelify sourceType时出错

Javascript 以编程方式使用Babelify sourceType时出错,javascript,reactjs,browserify,ecmascript-6,babeljs,Javascript,Reactjs,Browserify,Ecmascript 6,Babeljs,我正在使用和将源代码从ES6+JSX编译为纯Javascript 我的gulpfile.js看起来像: var gulp = require('gulp') var fs = require("fs") var browserify = require("browserify") var babelify = require("babelify") gulp.task('es6',function(){ return browserify({ debug: true }) .tra

我正在使用和将源代码从ES6+JSX编译为纯Javascript

我的
gulpfile.js
看起来像:

var gulp = require('gulp')
var fs = require("fs")
var browserify = require("browserify")
var babelify = require("babelify")

gulp.task('es6',function(){
  return browserify({ debug: true })
    .transform(babelify.configure({
      extensions: ['.es6']
    }))
    .require("./src/es6/app.es6", { entry: true })
    .bundle()
    .on("error", function (err) { console.log("Error : " + err.message); })
    .pipe(fs.createWriteStream("./build/js/bundle.js"))
})
我的
app.es6
的第一行是:

"use strict"

import React from 'react'
import MenuBar from './menu'
运行
$gulp es6
时,出现以下错误:

Error : 'import' and 'export' may appear only with 'sourceType: module'
但是,使用Browserify的cli时不会发生这种情况:

$ browserify src/es6/app.es6 -t babelify -o build/js/bundle.js --extension=.es6

关于如何解决此问题,您有什么想法吗?

需要将
扩展:['.es6']
选项添加到browserify的配置中:

browserify({ debug: true, extensions: ['.js', '.json', '.es6'] })
整个
gulpfile
应如下所示:

var gulp = require('gulp')
var fs = require("fs")
var browserify = require("browserify")
var babelify = require("babelify")

gulp.task('es6',function(){
  var extensions = ['.js','.json','.es6'];
  return browserify({ debug: true, extensions:extensions })
    .transform(babelify.configure({
      extensions: extensions
    }))
    .require("./src/es6/app.es6", { entry: true })
    .bundle()
    .on("error", function (err) { console.log("Error : " + err.message); })
    .pipe(fs.createWriteStream("./build/js/bundle.js"))
})