Javascript 以编程方式使用Babelify sourceType时出错
我正在使用和将源代码从ES6+JSX编译为纯Javascript 我的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
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"))
})