netlify 部署失败并出现错误 [vite]:汇总无法解析导入

Per*_*son 5 deployment rollup netlify svelte vite

部署到 netlify 失败并出现 error: [vite]: Rollup failed to resolve import...,但当我使用本地构建时它可以工作npm run build(与 netlify 相同)。无法解析的包是直接从 github 安装的,而不是其他包。

\n

包.json:

\n
    "dependencies": {\n        "@tailwindcss/line-clamp": "^0.2.2",\n        "focus-visible": "^5.2.0",\n        "just-throttle": "^4.0.1",\n        "lrud": "github:bbc/lrud#master",\n        "sapper-environment": "^1.0.1"\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

网络化日志:

\n
10:10:48 PM: \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n10:10:48 PM:   1. build.command from netlify.toml                            \n10:10:48 PM: \xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n10:10:48 PM: \xe2\x80\x8b\n10:10:48 PM: $ npm run build\n10:10:48 PM: > sveltekit-movie-app@0.0.1 build\n10:10:48 PM: > svelte-kit build\n10:10:49 PM: vite v2.7.10 building for production...\n10:10:49 PM: transforming...\n10:10:52 PM: \xe2\x9c\x93 54 modules transformed.\n10:10:52 PM: [vite]: Rollup failed to resolve import "Lrud" from "src/lib/stores/keyNavigation.ts".\n10:10:52 PM: This is most likely unintended because it can break your application at runtime.\n10:10:52 PM: If you do want to externalize this module explicitly add it to\n10:10:52 PM: `build.rollupOptions.external`\n
Run Code Online (Sandbox Code Playgroud)\n

keyNavigation.ts:

\n
import { Lrud } from 'Lrud';\n
Run Code Online (Sandbox Code Playgroud)\n

为什么在 netlify 上部署失败,但在本地部署却失败?

\n

Per*_*son 5

LRUD 文档说

const { Lrud } = require('Lrud')
Run Code Online (Sandbox Code Playgroud)

并且以下内容在本地有效:

import { Lrud } from 'Lrud';
Run Code Online (Sandbox Code Playgroud)

这可能是因为 Mac 环境不关心此上下文中文件引用的大小写。然而,在 Netlify 上却有所不同。将导入语句更改为以下内容使 Netlify 部署通过:

import { Lrud } from 'lrud';
Run Code Online (Sandbox Code Playgroud)