在angular2快速入门指南中打开带有lite-server的非默认浏览器

Eri*_*ase 19 launching node.js angular

在遵循Angular 2快速入门指南的TypeScript版本之后,我想知道是否可行,如果是,如何配置lite-server以启动默认浏览器以外的浏览器.

似乎lite-server将采用命令行args,通过它提供服务yargs.argv.并且似乎yargs将尝试基于相当常见的标准来解析命令行args(即,如果令牌以a开头--,它表示参数名称,否则是参数值)来获取argv.lite-server将尝试使用open它从中获取的属性argv,这最终是通过[启动进程的其中一个节点包]启动浏览器.点开?xdg -open?不确定,对我来说并不是真的那么重要,只要我的假设(基于查看其中几个过程发射器)是正确的,他们都可以选择接受定义要启动的过程的参数.如果省略,将使用默认浏览器,因为要打开的文件类型是html,这就是发生的情况.

如果所有这些都是正确的,或至少是它的要点,那么似乎我只需要指定--open chrome,例如(假设chrome在我的PATH工作 - 在win机器上工作),在lite定义的命令的末尾package.json.

所以像......

"scripts": {
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "lite": "lite-server",
    "lite:c": "lite-server --open chrome",
    "lite:f": "lite-server --open firefox ",
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
},
Run Code Online (Sandbox Code Playgroud)

如果这看起来很麻烦,我道歉,但我不会在计算机上,我可以测试这几天,我需要知道我是否有答案,可以停止研究这个:).谢谢!

end*_*der 23

最近的更改(@ 2.1.0)允许您通过以下方式设置您的配置,包括浏览器bs-config.json:

{
  "browser": "chrome"
}
Run Code Online (Sandbox Code Playgroud)

要么

{
  "browser": ["chrome","firefox"]
}
Run Code Online (Sandbox Code Playgroud)

如果要为每个broswer设置单独的脚本,可以在以下位置执行以下操作package.json:

{
  "scripts": {
    "lite": "lite-server",
    "lite:ff": "lite-server --c bs-firefox.json",
    "lite:c": "lite-server --c bs-chrome.json",
    "lite:ie": "lite-server --c bs-ie.json",
    "lite:all": "lite-server --c bs-all.json"
  }
}
Run Code Online (Sandbox Code Playgroud)

虽然它不是最好的解决方案,因为你必须在多个文件中复制和维护你的配置,它似乎是lite-server维护者的意图.这是当前的lite-server.js文件供参考.

  • 在Mac OS X上,我需要使用以下内容创建一个bs-config.json文件:{"browser":"google chrome"} (2认同)

小智 5

对于 MacOS,我必须在“bs-config.json”文件中使用区分大小写的值:

{
  "browser": "Google Chrome"
}
Run Code Online (Sandbox Code Playgroud)