首先,这是我的完整设置,因此您可以对其进行测试。https://mega.nz/#!czqujzjr!
一切正常,但是我有两个我不知道如何解决的问题。
-
使用
gulp build
运行构建时,一切正常,除了我的自定义JS Inits总是被排除在最终结果之外的事实。含义,custom.js
文件的内容在js/scripts.js
文件中找不到。我每次都必须手动添加它,这很烦人。<!-- build:js js/scripts.js --> script(src='js/jquery-3.2.1.slim.min.js') script(src='js/popper.min.js') script(src='js/bootstrap.min.js') script(src='js/highlight.js') script(src='js/clipboard.min.js') script(src='js/custom.js') <!-- endbuild -->
-
我如何修复文档中的所有相对路径,因为开发时,它们是指本地服务器,例如结果CSS文件中的所有内容都应具有以下路径
url("../
,而现在所有内容均为url("/
。
以及您认为可能被删除/优化的什么,请分享一些智慧。
预先感谢大家!
在index.html中,我可以看到构建:JS包装器
</div><!-- build:js js/scripts.js -->
<script src="js/jquery-3.2.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/highlight.js"></script>
<script src="js/clipboard.min.js"></script>
<script src="js/custom.js"></script><!-- endbuild -->
它不考虑使用<!-- endbuild -->
的行,因此不包括custom.js
将其更改为
</div>
<!-- build:js js/scripts.js -->
<script src="js/jquery-3.2.1.slim.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/highlight.js"></script>
<script src="js/clipboard.min.js"></script>
<script src="js/custom.js"></script>
<!-- endbuild -->
将custy.js带到脚本
更新
使用此=
操作员编写线路断路
= 'n'
<!-- build:js js/scripts.js -->
script(src='js/jquery-3.2.1.slim.min.js')
script(src='js/popper.min.js')
script(src='js/bootstrap.min.js')
script(src='js/highlight.js')
script(src='js/clipboard.min.js')
script(src='js/custom.js')
= 'n'
<!-- endbuild -->
所以,长话短说,我必须使用 Gulp-Replace 才能整理相对和绝对路径问题。因此,我添加了一项小型GULP任务来处理此操作:
gulp.task('fixCssPath', function(){
gulp.src(['./dist/css/styles.css'])
.pipe(replace('/fonts/', '../fonts/'))
.pipe(gulp.dest('./dist/css/'));
});
另一个问题来自以下事实: gulp-useref 不了解我用于模板的 pugjs 文件不是足够的方法:
<!-- build:js js/scripts.js -->
script(src='js/jquery-3.2.1.slim.min.js')
script(src='js/popper.min.js')
script(src='js/bootstrap.min.js')
script(src='js/highlight.js')
script(src='js/clipboard.min.js')
script(src='js/custom.js')
<!-- endbuild -->
这样做的正确方法是使用pugjs本机注释,但没有破折号(//
(,因为与仪表板一起使用它,简单地指出,在我的pugjs中发表评论,然后将其从最终结果中删除,因此Useref不起作用。因此,如果您使用的是PUGJS:
// build:js js/scripts.js
script(src='js/jquery-3.2.1.slim.min.js')
script(src='js/popper.min.js')
script(src='js/bootstrap.min.js')
script(src='js/highlight.js')
script(src='js/clipboard.min.js')
script(src='js/custom.js')
// endbuild