考虑以下两个文件:
app.js
import Game from './game/game';
import React from 'react';
import ReactDOM from 'react-dom';
export default (absPath) => {
let gameElement = document.getElementById("container");
if (gameElement !== null) {
ReactDOM.render(
<Game mainPath={absPath} />,
gameElement
);
}
}
index.js
import App from './src/app';
gulpfile.js
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var browserify = require('browserify');
var babelify = require("babelify");
var watch = require('gulp-watch');
gulp.task('make:game', function(){
return browserify({
entries: [
'index.js'
]
})
.transform('babelify')
.bundle()
.pipe(source('index.js'))
.pipe(gulp.dest('app/'));
});
错误:
gulp make:game
[13:09:48] Using gulpfile ~/Documents/ice-cream/gulpfile.js
[13:09:48] Starting 'make:game'...
events.js:154
throw er; // Unhandled 'error' event
^
SyntaxError: 'import' and 'export' may appear only with 'sourceType: module'
这是什么错误?我做错了什么?
旧版本的 Babel 提供了开箱即用的一切.较新的版本要求您安装安装所需的任何插件.首先,您需要安装 ES2015 预设.
Older versions of Babel came with everything out of the box. The newer version requires you install whichever plugins your setup needs. First, you'll need to install the ES2015 preset.
npm install babel-preset-es2015 --save-dev
接下来,你需要告诉 babelify 使用你安装的预设.
Next, you need to tell babelify to use the preset you installed.
return browserify({ ... })
.transform(babelify.configure({
presets: ["es2015"]
}))
...
来源
这篇关于SyntaxError: 'import' 和 'export' 可能只出现在 'sourceType: module' 中 - Gulp的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!