npm "scripts": "start" 运行 express 并打开 url

Posted

技术标签:

【中文标题】npm "scripts": "start" 运行 express 并打开 url【英文标题】:Npm "scripts": "start" run express and open url 【发布时间】:2016-05-17 15:17:16 【问题描述】:

我在package.json 中有这个启动参数

"scripts": 
    "start": "node bin/www"
  ,

当我输入npm start 时,它正在运行我的快递应用程序。

但我希望浏览器同时打开http://localhost:8081。我怎样才能对start 说也打开我的本地网址?

点赞:"start": "node bin/www, http://localhost:8081"

所以当我输入npm satrt 时,它会运行我的快速应用程序并同时打开网址。

【问题讨论】:

【参考方案1】:

据我所知,这就像编写 bash 命令:

// Windows
"start":"start http://localhost:8081 & node bin/www"

// Mac
"start":"open http://localhost:8081 && node bin/www"

// Linux
"start":"xdg-open http://localhost:8081 && node bin/www"

【讨论】:

我不是 Windows,"start":"node bin/www & start http://localhost:8081" 不会工作 但是,如果我在应用程序中有错误,那么它将使用指定的 url 启动新的浏览器窗口,但如果没有错误,则不会显示窗口 好的,我想我知道为什么,请参阅更新后的答案。 Windows 中的& 将在第一个命令之后运行第二个命令。当节点失败时,它会完成该命令,然后打开浏览器。当节点没有失败时,它不会完成并且浏览器窗口永远不会打开。【参考方案2】:

对于跨平台支持,请使用open-cli。

安装它:

npm install --save-dev open-cli

将其添加到您的脚本中:

"start": "open-cli http://localhost:8081 && node bin/www"

【讨论】:

很好的解决方案。顺便说一句:要在 url 中转义 &,请使用 \\&,即 open-cli https://localhost:8081?var1=foo\\&var2=bar && node bin/www【参考方案3】:

您只需按正确的顺序使用start

"start": "npm run dev & start http://localhost:8000",

不好

"start": "start http://localhost:8000 & npm run dev",

不错

【讨论】:

以上是关于npm "scripts": "start" 运行 express 并打开 url的主要内容,如果未能解决你的问题,请参考以下文章

npm package.json 属性详解

npm(script)脚本

如何npm安装angularjs

为啥“npm run build”会产生错误“react-scripts Permission denied”?

(转载)vue项目npm run dev 发生了啥?

“react-scripts start”之后的顺序 NPM 脚本