使用Gulp Usemin将JS和HTML输出到不同的位置

Output JS and HTML to different locations using Gulp Usemin

本文关键字:位置 输出 HTML Usemin Gulp JS 使用      更新时间:2024-05-04

我正在使用gulp-usemin来组合我的JS文件(与uglify)

我有一个文件夹结构如下:

Top
  |- Web
      |- Scripts
         |- App
             |- script1.js
             |- script2.js
         |- Vendor (folder)
         |- CompiledScripts
             |- useminFile1.js
      |- Areas
          |- Area1
              |- index.html

gullow usemin的所有用例都指定将所有内容复制到dist文件夹,这是我无法做到的

目标是将index.html文件重写到其当前位置,但将组合的JS文件写入"Top/Web/Scripts/CompiledScripts"。我尝试过各种组合,但我只能在正确的位置获得JShtml,而不能两者都获得。

我把基本任务放在下面。这将在正确的位置输出重新编写的索引文件,但不会输出编译后的JS文件(将与html文件在同一目录中,放在html块的路径上)。

gulp.src('./Top/Web/Areas/Area1/index.html')
    .pipe(usemin({
        path: './Top/Web/',
        assetsDir: './Top/Web/',
        js: [
            uglify()
        ]
    }))
    .pipe( gulp.dest( './Top/Web/Areas/Area1/' ) );

HTML块。需要有脚本的绝对路径

<!-- build:js /Scripts/CompiledModules/Libraries/test.js -->
    <script src="/Scripts/Vendor/Bower/lodash/dist/lodash.js"></script>
    <script src="/Scripts/Vendor/Bower/jquery/jquery.js"></script>
<!-- endbuild -->

如有任何帮助,我们将不胜感激。在我们谈论时尝试更多组合

因为您有:

.pipe( gulp.dest( './Top/Web/Areas/Area1/' ) );

您需要使用:

<!-- build:js ../../Scripts/CompiledScripts/vendor.min.js -->