Javascript ES6模块不适用于babel 6和gulp

Javascript ES6模块不适用于babel 6和gulp,javascript,gulp,ecmascript-6,browserify,Javascript,Gulp,Ecmascript 6,Browserify,我试图理解如何使用babel 6和gulp模块。我创建了一些测试文件 文件a.js export function test () { console.log(11111); } import {test} from 'a.js'; console.log(test()); import gulp from 'gulp'; import babel from 'gulp-babel'; import fs from 'fs'; import browserify from 'brow

我试图理解如何使用babel 6和gulp模块。我创建了一些测试文件

文件a.js

export function test () {
    console.log(11111);
}
import {test} from 'a.js';
console.log(test());
import gulp from 'gulp';
import babel from 'gulp-babel';
import fs from 'fs';
import browserify from 'browserify'
import babelify from 'babelify';
import buffer from 'vinyl-buffer';
import source from 'vinyl-source-stream';
import uglify from 'gulp-uglify';


gulp.task('default', () => {
    var bundler = browserify('src/app.js');
    bundler.transform(babelify);

    bundler.bundle()
        .on('error', function (err) { console.error(err); })
        .pipe(source('app.js'))
        .pipe(buffer())
        .pipe(uglify()) 
        .pipe(gulp.dest('dist'));
});
文件app.js

export function test () {
    console.log(11111);
}
import {test} from 'a.js';
console.log(test());
import gulp from 'gulp';
import babel from 'gulp-babel';
import fs from 'fs';
import browserify from 'browserify'
import babelify from 'babelify';
import buffer from 'vinyl-buffer';
import source from 'vinyl-source-stream';
import uglify from 'gulp-uglify';


gulp.task('default', () => {
    var bundler = browserify('src/app.js');
    bundler.transform(babelify);

    bundler.bundle()
        .on('error', function (err) { console.error(err); })
        .pipe(source('app.js'))
        .pipe(buffer())
        .pipe(uglify()) 
        .pipe(gulp.dest('dist'));
});
文件gulpfile.babel.js

export function test () {
    console.log(11111);
}
import {test} from 'a.js';
console.log(test());
import gulp from 'gulp';
import babel from 'gulp-babel';
import fs from 'fs';
import browserify from 'browserify'
import babelify from 'babelify';
import buffer from 'vinyl-buffer';
import source from 'vinyl-source-stream';
import uglify from 'gulp-uglify';


gulp.task('default', () => {
    var bundler = browserify('src/app.js');
    bundler.transform(babelify);

    bundler.bundle()
        .on('error', function (err) { console.error(err); })
        .pipe(source('app.js'))
        .pipe(buffer())
        .pipe(uglify()) 
        .pipe(gulp.dest('dist'));
});
package.json

{
  "name": "babel",
  "version": "1.0.0",
  "description": "",
  "main": "index.html",
  "dependencies": {
    "babel": "^6.5.2",
    "babel-preset-es2015": "^6.6.0",
    "babelify": "^7.2.0",
    "browserify": "^13.0.0",
    "fs": "^0.0.2",
    "gulp": "^3.9.1",
    "gulp-uglify": "^1.5.3",
    "gulp-babel": "^6.1.2",
    "vinyl-buffer": "^1.0.0",
    "vinyl-source-stream": "^1.1.0"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
.babelrc

{
  "presets": ["es2015"]
}
所以,看起来一切都是正确的,但是当我运行
gulp
命令时,我看到了这个错误-[错误:无法从'E:\js\babel\src'中找到模块'a.js'] 我无法理解为什么会发生此错误以及如何解决它


这里是github上的repo-

如果您引用了一个文件,则需要提供模块文件的路径:

... from './a.js';
否则,节点将在
Node\u modules/
中查找名为“a.js”的模块

顺便说一句,这与ES6无关。这就是Node/browserify的工作原理。请参阅。

非常感谢:)这一个有帮助:)