我是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/

10-11 06:55