【问题标题】:How to use use es*-shims with laravel and browserify?如何在 laravel 和 browserify 中使用 es*-shims?
【发布时间】:2016-03-17 23:05:26
【问题描述】:

让我们考虑一下gulpfile.js

var elixir = require('laravel-elixir');
elixir(function(mix) {
    mix.coffee(['1.coffee', '2.coffee'], 'storage/app')
      .browserify('app.js', null, 'storage/app')
});

现在我想添加someshimshere。据我所知,他们不会返回任何东西,他们会改变环境。这让我觉得它们必须在任何其他代码之前运行。

我可以将require('es5-shim'); require('es6-shim'); require('es7-shim'); 放在第一个文件的开头。但我不喜欢这个主意,因为我最终可能会更改订单并且它会停止工作。而且我不确定,它们是否能保证按照我指定的顺序来。

那么,我该如何添加文件呢?或者你们是怎么处理的?

【问题讨论】:

    标签: javascript node.js gulp laravel-elixir shim


    【解决方案1】:

    我想出了什么:

    var elixir = require('laravel-elixir')
        gulp = require('gulp'),
        concat = require('gulp-concat')
        fs = require('fs');
    
    elixir.extend('inlineTask', function(func, watcher) {
        var task = new elixir.Task(func.name, func);
        if (watcher) {
            task.watch(watcher);
        }
    });
    
    elixir(function(mix) {
        mix.coffee('**/*.coffee', 'storage/app/app.js')
            .browserify('app.js', 'storage/app/bundle.js', 'storage/app')
            .inlineTask(function bundleJs() {
                return gulp.src([
                        'node_modules/es5-shim/es5-shim.js',
                        'storage/app/bundle.js'])
                    .pipe(elixir.Plugins.if(elixir.config.sourcemaps, elixir.Plugins.sourcemaps.init({loadMaps: true})))
                    .pipe(concat('bundle.js'))
                    .pipe(elixir.Plugins.if(elixir.config.sourcemaps, elixir.Plugins.sourcemaps.write('.')))
                    .pipe(gulp.dest('public/js'));
            }, 'storage/app/bundle.js')
            .version('js/bundle.js');
    });
    

    但是请注意,当运行gulp watch 时,任务是not run,它们在gulpfile.js 中指定的顺序。所以在此之前只运行gulp 是有意义的。

    另外,gulp(或者我应该说laravel-elixirdoesn't always detect 新文件。假设当源文件模式与任何文件都不匹配时,gulp 运行时。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 2015-08-17
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      • 2017-06-15
      • 2014-02-20
      相关资源
      最近更新 更多