2017-07-18 6 views
0

私はObject.assignを使用する外部NPM依存関係を持っています。私は古いブラウザとの互換性を保証するために、Babelを使用したいと思います。ヘルパーを使ってObject.assignを変換するか、別の方法で置き換えるか、動作しません。Object.assign外部のnpmを持つBabel

PS:私は、私はそれがライブラリー(https://babeljs.io/docs/plugins/transform-object-assign/)であるので、これを避けたい、コードの先頭にポリフィルを使用することができます

依存性がある:var postscribe = require('postscribe');

経由https://github.com/krux/postscribe 私.babelrc CONF:

{ 
    "presets": [ 
    ["env", { 
     "targets": { 
      "browsers": ["Android 4", "iOS 7"] 
     } 
    }] 
], 
    "plugins": ["transform-object-assign"] 
} 

ガルプconfに:

gulp.task('adtag', function() { 
// set up the browserify instance on a task basis 
var b = browserify({ 
    entries: './src/adtag/main.js', 
    debug: true 
}).transform(babelify) 

return b.bundle() 
    .pipe(source('smaatoAdTag.min.js')) 
    .pipe(buffer()) 
    .pipe(sourcemaps.init({ 
     loadMaps: true 
    })) 
    // Add transformation tasks to the pipeline here. 
    .pipe(uglify()) 
    .on('error', gutil.log) 
    .pipe(sourcemaps.write('./')) 
    .pipe(gulp.dest('./dist/adtag/')); 
}); 

メインコードではなく依存関係にある場合、Object.assignを置き換える方法はありますか?

+0

依存関係とどのようにそれがロードされている何ですか? –

+0

私は情報の問題を更新しました。ありがとう! – ayxos

+1

これが唯一のコードであればpolyfillを使用してくださいhttps://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign –

答えて

1

あなたが使用することができbabelify

のためのドキュメントをチェックアウト:

browserify().transform("babelify", { 
    global: true, 
    ignore: /\/node_modules\/(?!postscribe\/)/ 
}); 
関連する問題