如何将 rollup 与 sirv 一起用于 svelte 应用程序

How to use rollup with sirv for a svelte app

不幸的是,我无法在汇总文档中找到任何内容。我正在使用 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 命令与自动构建或测试构建命令之一结合使用。不知何故,即使我删除了所有脚本,环境变量始终是 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 标志抓取一些信息。

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

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

所以首先汇总 运行s 并构建和监视文件,然后 sirv 运行s 并交付编译后的文件。老实说,最让我傻眼的是,它之前是有效的,只执行了start:dev命令。