2016-03-24 5 views
1

Я пишу автоматические тесты с помощью webdriver.io. Я использую grunt/babelify/browsify, чтобы писать тесты в ES6. Я потребовал некоторые модули узла в моем скрипте. Я хочу иметь возможность НЕ компилировать эти файлы узлов в свой сценарий распространения, но просто распечатывать требуемые операторы, так как я все еще выполняю роль сервера сценариев. Другими словами, есть ли способ переносить код «как есть» с помощью браузера? Вот модулей, я требующие:Использование Grunt-babelify-браузера без импорта модулей узла

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); 

Вот мой пехотинец файл:

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"]); 
}; 

ответ

1

Ну, если вы просто хотите возможности ES6-на-ES5 без объединения файлов в пучок, самым простым способом является просто использовать Babel самостоятельно, а не Babelify и Browserify.

Babel - это инструмент, лежащий в основе преобразования Babelify для Browserify.

Следует отметить, что многие функции ES6 - это already supported by node.js, поэтому вы можете просто запустить сценарий без использования Babel или Browserify для локального тестирования.

+0

Я действительно хочу объединить файлы, но НЕ модули узлов. Есть ли способ сказать браузеру игнорировать запросы узла, а не инструкции импорта/экспорта es6? – mags

+0

ОК, я решил, что то, что я пытался сделать, было немного глупо, поскольку узел поддерживает большинство функций es6. На данный момент я просто пропущу задания. Благодаря! – mags

+1

@mags Нет проблем! Но, как идея, если вы все равно хотите объединить все файлы, вы можете «сшить их» вместе, а затем использовать «grep» для удаления требуемых строк. – harperj

 Смежные вопросы

  • Нет связанных вопросов^_^