2016-03-24 11 views
1

Webdriver.io ile otomatik testler yazıyorum. ES6'da testleri yazabilmek için grunt/babelify/browserify kullanıyorum. Komut dizimde bazı düğüm modülleri gerekiyor. Bu düğüm dosyalarını dağıtım senaryomda derleyemem, ancak betik sunucu tarafını hala çalıştırdığımdan beri olduğu gibi gerekli açıklamaları yazdırabiliyorum. Başka bir deyişle, tarayıcıda "olduğu gibi" kodunu taşımanın bir yolu var mı?Düğüm modüllerini içe aktarmadan Grunt-babelify-browserify'yi kullanma

required libraries 
var webdriverio = require('webdriverio'); 
var chai = require("chai"); 
chai.config.includeStack = true; // prints out full call stack 
var expect = chai.expect; 
var chaiAsPromised = require("chai-as-promised"); 
chai.use(chaiAsPromised); 

İşte benim hırıltı dosyasıdır:: İşte modüller ben gerektiren ediyorum olan

module.exports = function (grunt) { 
grunt.initConfig({ 
    browserify: { 
    dist: { 
     options: { 
      transform: [ 
       ["babelify", { 
       loose: "all" 
       }] 
      ] 
     }, 
     files: { 
      // if the source file has an extension of es6 then 
      // we change the name of the source file accordingly. 
      // The result file's extension is always .js 
      "./dist/module.js": ["./modules/*"] 
     } 
    } 
    }, 
    watch: { 
    scripts: { 
     files: ["./modules/*/*.js"], 
     tasks: ["browserify"] 
    } 
    } 
}); 

grunt.loadNpmTasks("grunt-browserify"); 
grunt.loadNpmTasks("grunt-contrib-watch"); 

grunt.registerTask("watch", ["watch"]); 
grunt.registerTask("build", ["browserify"]); 
}; 

cevap

1

Eh, sadece bir demet haline dosyaları birleştirerek olmadan ES6-to-ES5 yetenekleri istiyorsanız, En basit yol, Babelify ve Browserify'den ziyade Babel'u kendi başına kullanmaktır.

Babel, Browserify için Babelify dönüşümü arkasındaki araçtır.

Ancak, ES6'nın birçok özelliğinin already supported by node.js olduğunu not etmem gerekir, bu nedenle komut dosyasını yalnızca yerel sınama için Babel veya Browserify olmadan çalıştırabilirsiniz.

+0

Aslında dosyaları birleştirmek istiyorum, ancak düğüm modüllerini DEĞİL. Tarama gerektirmeyen ifadeleri görmezden gelmek için değil, es6 içe aktarma/dışa aktarma ifadelerini göz ardı etmek için tarayıcıya söyleme yolu var mı? – mags

+0

Tamam, ne yapmaya çalıştığımı karar verdim, düğüm, çoğu es6 özelliğini desteklediğinden biraz saçma. Şimdilik şaka görevlerini atlayacağım. Teşekkürler! – mags

+1

@mags Sorun yok! Ama yine de bir fikir olarak, eğer tüm dosyaları birleştirmek istiyorsanız, onları bir araya getirip “grep” yi kullanarak satırları kaldırabilirsiniz. – harperj