首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编程使用时的Babelify sourceType错误

编程使用时的Babelify sourceType错误
EN

Stack Overflow用户
提问于 2015-05-15 01:14:46
回答 1查看 8.8K关注 0票数 9

我使用GulpBrowserifyBabelify将源代码从ES6 + JSX编译成普通Javascript。

我的gulpfile.js看起来像:

代码语言:javascript
复制
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的第一行是:

代码语言:javascript
复制
"use strict"

import React from 'react'
import MenuBar from './menu'

当我运行$ gulp es6时,会得到以下错误:

代码语言:javascript
复制
Error : 'import' and 'export' may appear only with 'sourceType: module'

但是,当我使用Browserify的cli时,不会发生这种情况:

代码语言:javascript
复制
$ browserify src/es6/app.es6 -t babelify -o build/js/bundle.js --extension=.es6

对于如何解决这个问题,有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-15 04:02:03

extensions:['.es6']选项需要添加到浏览器的配置中:

代码语言:javascript
复制
browserify({ debug: true, extensions: ['.js', '.json', '.es6'] })

整个gulpfile应该如下所示:

代码语言:javascript
复制
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"))
})
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30250003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档