2017-02-05 3 views
0

Ich bin mit großen Schluck + browserify eine es6 zu kompilieren ES5 und dann zu require versuchen, dass in einem anderen Modul (keiner dieser Arbeit):Kann laden ES6 Modul nicht erforderlich

Main = require('mylibrary/dist/main').Main 
Main2 = require('mylibrary/dist/main') 

auch versucht, zu export default class Main und versuchte class Main dann export default new Main

Ich bin sicher, das ist etwas einfaches, dass ich vermisse?

es6 Klasse:

export class Main { 
    constructor(){ 
    console.log('Main!'); 
    } 

    test(){ 
    console.log('test'); 
    } 
} 

Ausgang (abgekürzt):

var Main = exports.Main = function() { 
    function Main() { 
    _classCallCheck(this, Main); 

    console.log('Main!'); 
    } 

    _createClass(Main, [{ 
    key: 'test', 
    value: function test() { 
     console.log('test'); 
    } 
    }]); 

    return Main; 
}(); 

gulpfile.js

var gulp = require('gulp'); 
var browserify = require('browserify'); 
var source = require("vinyl-source-stream"); 
var babelify = require("babelify"); 

gulp.task('browserify', function() { 
    return browserify({ 
     entries: ['src/main.js'], 
     debug: true 
    }) 
    .transform(babelify, {presets: ["es2015", "react"]}) 
    .bundle() 
    .on("error", function (err) { console.log("Error : " + err.message); }) 
    .pipe(source('main.js')) 
    .pipe(gulp.dest('./dist')); 
}); 

gulp.task('watch', function() { 
    gulp.watch('src/*.js', ['browserify']); 
    gulp.watch('src/*.jsx', ['browserify']); 
}); 

gulp.task('default', ['watch','browserify']); 

Antwort

1

standardmäßig Browserify eine Datei in einem Browser ausgeführt werden soll baut, nicht eine, die mit require arbeiten soll. Sie möchten die Option standalone von Browserify über

return browserify({ 
    entries: ['src/main.js'], 
    debug: true, 
    standalone: 'someName', 
}) 
+0

verwenden. Danke. Ich werde mehr Details dazu lesen müssen. Nach dem Hinzufügen von standalone: ​​true habe ich den folgenden Fehler bekommen: 'node_modules/browserify/node_modules/browser-pack/node_module/umd/index.js: 55 var name = name.split ('.') ^ TypError: name.split ist keine Funktion' – sanjosep43

+0

Sorry, ich denke ich hatte es falsch, es ist nicht 'wahr', es sollte eine Zeichenfolge sein. – loganfsmyth

Verwandte Themen