Mat*_*att 30 automated-tests browserify gulp
我在吞咽中使用Browserify.我也试图将我的测试编译成单个文件.但不像我的主要应用程序,我工作得很好,我很难得到测试编译.主要区别在于测试有多个入口点,没有像该应用程序那样的单个入口点.但我收到Browserify的错误,它无法找到入口点.
browserify = require 'browserify'
gulp = require 'gulp'
source = require 'vinyl-source-stream'
gulp.task 'tests', ->
browserify
entries: ['./app/js/**/*Spec.coffee']
extensions: ['.coffee']
.bundle
debug: true
.pipe source('specs.js')
.pipe gulp.dest('./specs/')
Run Code Online (Sandbox Code Playgroud)
Mat*_*att 39
以下是我能够构建的任务,似乎可以解决问题.基本上我使用外部库来收集文件名作为数组.然后将该数组作为入口点传递
'use strict;'
var config = require('../config');
var gulp = require('gulp');
var plumber = require('gulp-plumber');
var glob = require('glob');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
gulp.task('tests', function(){
var testFiles = glob.sync('./spec/**/*.js');
return browserify({
entries: testFiles,
extensions: ['.jsx']
})
.bundle({debug: true})
.pipe(source('app.js'))
.pipe(plumber())
.pipe(gulp.dest(config.dest.development));
});
Run Code Online (Sandbox Code Playgroud)
Haf*_*ail 19
这是一个替代配方,使用gulp.src()更符合gulp范例
var gulp = require('gulp');
var browserify = require('browserify');
var transform = require('vinyl-transform');
var concat = require('gulp-concat');
gulp.task('browserify', function () {
// use `vinyl-transform` to wrap around the regular ReadableStream returned by b.bundle();
// so that we can use it down a vinyl pipeline as a vinyl file object.
// `vinyl-transform` takes care of creating both streaming and buffered vinyl file objects.
var browserified = transform(function(filename) {
var b = browserify(filename, {
debug: true,
extensions: ['.coffee']
});
// you can now further configure/manipulate your bundle
// you can perform transforms, for e.g.: 'coffeeify'
// b.transform('coffeeify');
// or even use browserify plugins, for e.g. 'minifyiy'
// b.plugins('minifyify');
// consult browserify documentation at: https://github.com/substack/node-browserify#methods for more available APIs
return b.bundle();
});
return gulp.src(['./app/js/**/*Spec.coffee'])
.pipe(browserified)/
.pipe(concat('spec.js'))
.pipe(gulp.dest('./specs'));
});
gulp.task('default', ['browserify']);
Run Code Online (Sandbox Code Playgroud)
有关这项工作的更多细节,我写的这篇文章更深入:http://medium.com/@sogko/gulp-browserify-the-gulp-y-way-bb359b3f9623
归档时间: |
|
查看次数: |
15082 次 |
最近记录: |