gulp-默认情况下加载子目录example.com/en/

问题描述

我正在使用Start Bootstrap SB Admin 2主题来构建多语言站点的UX。两种语言不会完全相同,因此每种语言都有自己的设计,因此页面也不同。但是,两者都将使用相同的资产,CSS和JS文件。

我将所有HTML文件(取决于语言)放在根目录下单个文件夹下的两个子文件夹中:

(root)
|_ css
|_ js
|_ locales
    |_ en
        |_ index.html
    |_ de
        |_ index.html

根据我对gulp的有限了解,解决方案在于我的browserSync文件中的gulpfile.js函数。 browserSync函数如下所示:

...
// BrowserSync
function browserSync(done) {
  browsersync.init({
    server: {
      baseDir: "./"
    },port: 3000
  });
  done();
}
...

当然,这不会加载页面(Can't GET /),因为index.html不在根文件夹./中。


我想要的是让gulp默认加载example.com/en/(或localhost:3000/en/),以便随后我可以访问locales文件夹中的其他目录,例如de或任何其他语言。

这是我尝试过的(第一次尝试)

// BrowserSync
function browserSync(done) {
  browsersync.init({
    server: {
      baseDir: "./locales/en/"
    },port: 3000
  });
  done();
}

这将加载英语索引文件,但是任何尝试访问de目录的尝试均无效,因为根URL现在位于en文件夹中。

这是我尝试过的(第二次尝试)

function browserSync(done) {
  browsersync.init({
    server: {
      baseDir: "./"
    },index: '/pages/en/index.html',port: 3000
  });
  done();
}

我希望它能正常工作,但是发生的事情却完全相同:localhost:3000将加载英语索引文件,而尝试访问localhost:3000/de则无效。

如何默认设置gulp以加载/en/,以便随后可以访问其他语言?

谢谢。

解决方法

您尝试过吗?

function browserSync(done) {
  browsersync.init({
    server: {
      baseDir: "./locales/"
      index: './locales/en/index.html',},port: 3000
  });
  done();
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...