Использование Grunt-babelify-browserify без импорта узловых модулей
Я пишу автоматизированные тесты с webdriver.io. Я использую grunt/babelify/browserify, чтобы писать тесты в ES6. Мне потребовалось несколько узловых модулей в моем скрипте. Я хочу иметь возможность НЕ компилировать эти файлы узлов в свой скрипт распространения, а просто распечатать операторы require, как есть, так как я все еще работаю на стороне сервера сценариев. Другими словами, есть ли способ перенести код "как есть" с browserify? Вот модули, которые мне нужны:
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 уже поддерживаются node.js, поэтому вы можете просто запустить свой сценарий без Babel или Browserify для локального тестирования.