首页 > 解决方案 > 如何将汇总与 sirv 一起用于苗条的应用程序

问题描述

不幸的是,我在汇总文档中找不到任何内容。我正在使用 Svelte 和 rollup 构建一个网站,并且需要不同的环境变量来进行生产、测试​​和开发。

这是我的 package.json 的脚本部分:

  "scripts": {
    "build": "cross-env rollup -c",
    "autobuild": "BACKEND_SSL=true SERVER_NAME=some.website.com SERVER_PORT=443 rollup -c -w",
    "devbuild": "rollup --environment BACKEND_SSL:false,SERVER_NAME:localhost,SERVER_PORT:4000 -c -w",
    "testbuild": "BACKEND_SSL=false SERVER_NAME=localhost SERVER_PORT=4000 rollup -c",
    "dev": " run-p start:dev",
    "start": "sirv public --single",
    "start:dev": "cross-env --max-old-space-size=16000 sirv public --single --dev --cors",
  }

我不知道如何将 start:dev 命令与 autobuild 或 testbuild 命令之一一起使用。不知何故,环境变量始终是 devbuild 脚本中的一个,即使我删除了所有脚本。这些变量是否也在其他地方指定?我试过这个:

"start:dev": "cross-env --max-old-space-size=16000 sirv public --single --dev --cors autobuild"

还有这个:

"start:dev": "cross-env --max-old-space-size=16000 sirv public --single --dev --cors BACKEND_SSL=true SERVER_NAME=api.dev.vipfy.store SERVER_PORT=443 rollup -c -w"

但似乎没有任何效果。我在这里看不到什么?是否有一些关于 sirv 的实际文档?我只能通过 -h 标志抓取一些信息

标签: javascriptsvelterollupjssvelte-3

解决方案


好吧,我想通了。sirv 只是一个静态文件服务器,所以它与我的问题无关。解决方案在于 run -p 命令。这是 npm run all 的缩写。所以我必须在我的开发脚本中这样做:

"dev": " run-p autobuild start:dev"

因此,首先汇总运行并构建并监视文件,然后 sirv 运行并交付已编译的文件。老实说,最让我目瞪口呆的是,它以前也有效,只执行了 start:dev 命令。


推荐阅读