【问题标题】:forcing gulp to use a different hostname强制 gulp 使用不同的主机名
【发布时间】:2016-05-18 16:03:27
【问题描述】:

我需要“gulp serve”在我添加到我的主机文件而不是本地主机的主机名上为我的应用程序提供服务。我这样做是出于 cookie 的原因,因为我每次添加 cookie 时都会添加域密钥。

例如 127.0.0.1 app1.example.org

当我启动“gulp serve”时,它会触发网络浏览器并输入http://app1.example.org:3000 或它正在运行的任何 tcp 端口。

【问题讨论】:

  • gulp serve 可以是任何东西。请告诉我们您使用的 gulp 插件和设置。
  • 我正在使用 yeoman angular-foundation 正在使用的那个。现在,我在我的 gulpfile.js 中看到了这些 require('gulp');需要('gulp-util');要求('扳手');
  • 我只是运行 gulp serve 所以我的 Angular 应用程序将启动
  • 如果你可以复制'n'粘贴你的 Gulpfile,或者指向 Github 上正确的 yeoman 生成器,也许会有所帮助......仍在黑暗中摸索,因为它可以是任何东西

标签: dns gulp


【解决方案1】:

从您的链接中查看 Gulpfile 后(谢谢,这很重要)我现在知道那里使用的服务器是 browser-sync。使用browser-sync 更改主机名非常简单。

转到您的应用程序并输入gulp 文件夹。在那里你应该看到一个_server.js 文件。这是存储服务器配置的地方。找到browserSync.instance = browserSync.init({ 的行并将其更改为以下内容:

browserSync.instance = browserSync.init({
    startPath: '/',
    server: server,
    browser: browser,
    host: 'app1.example.org',
    open: 'external'
});

如果您在我们的/etc/hosts 文件中放置了正确的行,则它应该可以正确打开。更多选项见:http://www.browsersync.io/docs/options/

【讨论】:

  • 你太棒了!你是最棒的ddprrt!有效!我真的很感谢你花时间在这上面工作!!! :D 非常感谢!!!
  • 对于其他非常好奇我为什么要这样做的潜伏者。这是因为我的 AngularJS 应用程序中有一个存储 cookie 的代码,而我存储 cookie 的方式也保存了域。我添加了域选项。因此,如果我在 localhost:3000 上运行它并使用 example.org 的 domain 选项添加 cookie,您会注意到没有添加 cookie。在 cookie 开始工作之前,我总是必须手动输入 app.example.org。
  • [继续] 如果让我们说几天后我没有在我的应用程序上工作,当我回到它时,我用 localhost:3000 启动它,我会想知道为什么我的应用程序正在运行以一种奇怪的方式。我将开始进行故障排除,几分钟后,我会记得我必须加载 app.example.org。因此,使用上面显示的 ddprrt 解决方案,我不必担心记住加载的 fqdn :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-19
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
  • 2014-08-19
相关资源
最近更新 更多