Javascript 使用Gulp Usemin将JS和HTML输出到不同的位置
我正在使用gulp usemin将我的JS文件与uglify结合起来 我的文件夹结构如下:Javascript 使用Gulp Usemin将JS和HTML输出到不同的位置,javascript,gulp,gulp-usemin,Javascript,Gulp,Gulp Usemin,我正在使用gulp usemin将我的JS文件与uglify结合起来 我的文件夹结构如下: Top |- Web |- Scripts |- App |- script1.js |- script2.js |- Vendor (folder) |- CompiledScripts |- useminFile1.js |- Areas
Top
|- Web
|- Scripts
|- App
|- script1.js
|- script2.js
|- Vendor (folder)
|- CompiledScripts
|- useminFile1.js
|- Areas
|- Area1
|- index.html
gulp usemin的所有用例都指定将所有内容复制到dist文件夹,这是我无法做到的
目标是将index.html文件重写到其当前位置,但将组合的JS文件写入“Top/Web/Scripts/CompiledScripts”。我尝试过各种组合,但我只能在正确的位置获得JS或html,而不能同时获得两者
我已经把基本任务放在下面了。这将在正确的位置输出重新写入的索引文件,但编译后的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 -->
这似乎解决了我的一点问题。现在,我将通过压缩索引文件来删除相对路径。谢谢SNP。请注意,usemin中有几个bug可能会让您在尝试设置时感到困惑。看看github回购。我最终改用了useref,它与gulp-if配合使用效果非常好。谢谢。是的,我会调查一下,因为我在同一个文件中有多个块。