我是Gulp的新手(也许我的问题很愚蠢)。
在开发中,我在本地主机和根文件夹上使用gulp serve
,例如:
http://localhost:3000/
但是在生产中,我想将我的应用程序移动到一个文件夹中,例如:
http://localhost:3000/my-app/
问题是index.html中的dev
“base href”来自:
<base href="/">
到
prod
:<base href="/my-app/">
我可以使用条件html注释更改我的基本href吗?例如。:
<!-- build:dev -->
<base href="/">
<!-- endbuild -->
<!-- build:prod -->
<base href="/my-app/">
<!-- endbuild -->
任何其他提示,我们将不胜感激!
我发现了这个提示:
return gulp.src(path.join(conf.paths.tmp, '/serve/*.html'))
.pipe(replace('<base href="/">', '<base href="/my-app/">'))
最佳答案
我自己也有同样的问题。我写了这个任务:
import gulp from 'gulp';
import replace from 'gulp-replace';
gulp.task('inject-base-href', function() {
return gulp.src('path/to/your/html/file')
.pipe(replace('<base href="/">', function(match) {
console.log('Replace called on', match);
return'<base href="/your-correct-href-path/">'
}
))
.pipe(gulp.dest('path/to/your/build/folder'));
});
和
npm install --save-dev gulp-replace
并将任务排在生产任务中。
关于node.js - Gulp:如何在生产中设置不同的基本href,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43143109/