`gulp-connect` 虚拟文件夹

`gulp-connect` virtual folder

是否可以让 gulp-connect 将不存在的文件夹添加到 URL 中?

详细说明:

我的项目在 /Sites/mySite 中,在这个文件夹中我有一个 gulpfile.js,我 cd 进入这个文件夹,运行 gulp 并得到一个http 服务器位于:http://localhost:8080/.

我希望仍然能够 cd 进入 /Sites/mySite 运行 gulp 但是可以从 [=20 访问此内容的 url =].

这感觉像是某种中间件,但我无法理解 connect/gulp-connect。

是的,这是可能的。使用符号链接。

假设您的应用位于 /Sites/mySite/app 文件夹中,并且您 运行 服务器是这样的:

gulp.task('server', function () {
  connect.server({
    root: './app'
  });
});

现在创建指向 ./app 和 运行 服务器的符号链接 igloo,如下所示:

var
  gulp = require('gulp'),
  connect = require('gulp-connect');

gulp.task('server', function () {
  connect.server({
    root: '.'
  });
});

就是这样。您会在 http://localhost:8080/igloo 看到您的应用。 欢迎提问。

我有一个类似的设置。我的应用程序的根目录位于 dist/,但我还需要访问 node_modules/ 以获取我的源映射:

https://www.npmjs.com/package/st

var st = require('st')

...

gulp.task('server', function() {
  connect.server({
    root: 'dist/',
    host: 'localhost',
    port: 3000,
    livereload: {
      port: 35929
    },
    middleware: function (connect, opt) {
      return [
        st({ path: 'node_modules', url: '/node_modules' })
      ];
    }
  })
})