【问题标题】:Using gulp-inject: How to add query string to injected filename使用 gulp-inject:如何将查询字符串添加到注入的文件名
【发布时间】:2015-11-21 10:11:24
【问题描述】:

我使用gulp-inject 将要加载的文件添加到 index.html。为了强制浏览器重新加载 js 脚本,我想在注入 index.html 的文件名中添加一个查询字符串。

我怀疑这可以通过 gulp-inject 的转换功能实现。但是阅读文档我不明白它是如何解决的。你呢?

【问题讨论】:

    标签: gulp gulp-inject


    【解决方案1】:

    根据 EricC 的回答,完整的代码如下所示:

    gulp.task('inject', function() {
        return gulp.src(paths.html, {cwd: bases.application})
            .pipe(inject(gulp.src([
                bases.build + 'css/styles.min.css',
                bases.build + 'scripts/app.min.js'
            ]), {
                transform: function (filepath) {
                    arguments[0] = filepath + '?v=' + app_version;
                    return inject.transform.apply(inject.transform, arguments);
                }
            }
        ))
        .pipe(gulp.dest(bases.build));
    });
    

    【讨论】:

      【解决方案2】:

      好的,找到方法了。

      像这样添加一个变换函数:

        transform: function (filepath) {
          arguments[0] = filepath + '?v=' + pjson.version;
          return inject.transform.apply(inject.transform, arguments);
        }
      

      仅供参考,我使用gulp-bump 更新版本号,然后我得到我的应用程序的包信息(包括版本号),如下所示:var pjson = require('./package.json');

      【讨论】:

      • 你能显示你的完整代码吗,因为我不明白在哪里添加转换函数
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 1970-01-01
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多