想要使用 Gulp 选择性地添加 JavaScript 代码

Wanting To Optionally Add JavaScript code using Gulp

我有一个使用 browserify 捆绑的 gulpfile.js,我希望能够根据像 useMock 这样的变量有选择地向我的 javascript 文件之一添加一行。下面是我的 GulpFile.js 构建步骤

function bundle (bundler) {
return bundler
    .bundle()
    .pipe(source('app.js'))
    .pipe(gulp.dest('./dist'))
    .pipe(browserSync.stream());
}

下面文件的最后一行是我想选择性地包括的那一行。

module.exports = require('angular')
    .module('AngularUApp', [
        require('angular-ui-router'),
        require('angular-sanitize'),
        require('../../base'),
        require('./home'),
        require('./speaker'),
        require('./author')
    ])
    .config(enableHtml5Mode)
    .name;

enableHtml5Mode.$inject = ['$locationProvider'];
function enableHtml5Mode($locationProvider) {
    console.log('enableHtml5Mode');
    $locationProvider.html5Mode(true);
}

// I want to optionally include this from my gulpfile.js
require('../mock');

我希望能够进行生产和开发构建,其中开发包含额外的行而生产不包含。如果有更好更推荐的方法,请提出。

我自己找到了答案。从这个 link:

使用 browserify api 本身

https://github.com/substack/node-browserify#usage

var combinedArgs = merge(watchify.args, { debug: true });
var b = browserify(baseDir,combinedArgs);
b.add('angu/mock');
var watcher = watchify(b);

我之前遇到了一个问题,因为我忘记了 gulp 中的相对目录与 JavaScript 中的相对目录不同。