【问题标题】:Make GhostMode false in Angular2 - the tour of heroes example在Angular2中使GhostMode为假-英雄之旅示例
【发布时间】:2016-12-19 13:10:01
【问题描述】:

我为我的一个 POC 引用了 ng2 文档。在快速启动中,它要求我们从 git 位置下载代码和项目结构。它使用 lite-server 作为服务器来运行应用程序。谁能帮助我在哪里可以找到可以设置 BrowserSync 选项的 lite 配置文件。我只想禁用 Ghostmode,即将其设置为 false,以便使用相同的 URL 同时在多个浏览器中处理我的应用程序时没有问题!!

有人可以帮我解决这个问题吗?

以下是我所指的链接 - https://angular.io/docs/ts/latest/tutorial/toh-pt1.html

提前非常感谢:)

【问题讨论】:

  • 你试过用谷歌搜索lite-server configbrowsersync config吗?我刚刚做了,发现了一大堆有用的信息....
  • 是的,我都搜索了。我得到的只是改变什么,我已经知道了。我知道要更改什么,但我没有在链接用作示例的项目结构中找到配置文件的位置。我看到了一个与 lite-server 相关的规范文件,但其中没有关于浏览器同步的任何内容......

标签: angular browser-sync lite-server


【解决方案1】:

只是回答我自己的问题,因为我经过更多研究后发现它!

对我来说示例中没有 ghostMode 的应用程序 - 英雄之旅或任何类似的应用程序 (https://angular.io/docs/ts/latest/tutorial/toh-pt1.html)

我们只需要将 ghostMode 的值设置为 false。通常情况下,这是在 bs-config.js 中设置的。如果没有创建 bs-config.js 文件,它会选择浏览器同步包 default-config.js 的命令。 当我们安装 browser-sync 包时,这个 js 文件将被创建,它将为 browser-sync 设置默认值。

文件位置:node_modules/browser-sync 文件名:default-congif.js

要改变的价值 - 默认值:

ghostMode: {
        clicks: true,
        scroll: true,
        forms: {
            submit: true,
            inputs: true,
            toggles: true
        }
    },

改为:

ghostMode: false,

重建应用程序,您就可以在没有 ghostMode 的情况下运行应用程序了。

快乐编码:)

【讨论】:

    【解决方案2】:

    我四处寻找工具,发现了几个链接:Github issue as an example filelite-server config description

    从两个链接收集的简短信息转储

    lite-server 在运行时会读取一个名为 bs-config.json 的配置文件。你可以传入带有-c标志的命令行参数来指定你想从哪里读取配置文件。

    当你有这个工作时,你可以在配置文件中设置一个选项。它看起来像这样:"ghostMode": true/false.
    将此设置为 false 将禁用 ghostmode 运行。

    所以这对你特别是@phalgun 意味着你想要像这样从你的 package.json 调用 lite 服务器:

    "lite": "lite-server -c path/to/bs-config.json"

    在 bs-config.json 中,你会想在某个地方有这个:

    "ghostMode": false

    【讨论】:

    • 是的 Scrambo!这就是我到目前为止所做的确切分析......但是提供的链接中的示例的问题是我无法找到它从哪里获取 bs-config.json 文件。在 lite-server 配置文件中,我们可以只添加命令来初始化其他包,如 browser-sync 等。但它没有提供为任何包添加额外选项的选项。
    • 在 node_modules/browser-sync 文件夹内有一个 default.config 文件,其中包含提到的 browserSync 的所有选项。我尝试更改 ghostmode 的所有默认选项,其中所有功能都为 true,我将整个 ghostmode 设置为 false。但即使重新编译后,它也没有像我预期的那样工作!!
    • 您应该能够创建自己的bs-config.json 文件,然后将-c 参数指向它。所以说你的整个项目在~/foo。 (其中~ 是主目录)您可以编写一个名为baz.json 的新文件并将其放入根目录(~/foo/baz.json),然后调用lite-server -c ~/foo/baz.json。除非我误解了你的意思。根据我的理解,您不知道要读入的原始配置文件在哪里。但是您不需要知道,只需编写一个新的并将其传入即可。
    • 响应您最近的评论,可能是 lite-server 正在将其自己的自定义配置传递给 browsersync。我想说的是,由于直接更改 browsersync 的配置不起作用,请尝试更改 lite-server 的配置。
    • 知道了!答对了!! node_module/browser-sync 中的 default-config.js 起到了神奇的作用!只需根据我的喜好自定义文件并提供 ghostMode 和 false。 ghostMode: false, 它把所有的事件都设为真。我将它们全部删除,使 ghostMode 为假。它现在按预期工作!感谢您的时间@Scrambo :)
    猜你喜欢
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多