SvelteKit:使用 Node.js 适配器为网站提供服务时,点击处理程序不起作用
SvelteKit: click handlers not working when serving the site using Node.js adapter
我有一个非常简单的 SvelteKit 站点,其中有一些松散地基于 SvelteKit / Svelte 教程的动态表单处理功能。
例如我的组件中有提交和单击句柄,例如
<form id="form-api-key" class="form-group" on:submit|preventDefault="{handleSubmit}">
当我 运行 我的网站使用 SvelteKit npm run dev
时一切正常。
npm run dev
但是,当我使用 SSR 的 Node.js 适配器将站点部署到生产环境时,JavaScript 处理程序的 none 会触发。 (我假设组件 JavaScript 逻辑的 none 被激活。)
svelte-kit build && node build/index.js
我觉得我遗漏了一些明显的东西,但不知道是什么 - 我认为即使使用 Node 适配器部署,Svelte 组件也应该继续运行?
版本
├─┬ @sveltejs/adapter-node@1.0.0-next.36
├── @sveltejs/adapter-static@1.0.0-next.13
├─┬ @sveltejs/kit@1.0.0-next.164
│ ├─┬ @sveltejs/vite-plugin-svelte@1.0.0-next.22
│ │ └── svelte-hmr@0.14.7
├── eslint-plugin-svelte3@3.2.0
├── prettier-plugin-svelte@2.3.1
├── svelte@3.42.5
├─┬ svelte-check@2.2.3
│ ├── svelte-preprocess@4.7.4 deduped
├─┬ svelte-preprocess@4.7.4
├── svelte-spinner@2.0.2
├─┬ svelte-time@0.4.0
├─┬ sveltestrap@4.2.1
原来这条特定路线有
hydrate = dev
作为 SvelteKit package template 的剩余物。
如果您需要在页面上进行互动 JavaScript,请确保您有
<script context="module">
hydrate = true;
<script>
我有一个非常简单的 SvelteKit 站点,其中有一些松散地基于 SvelteKit / Svelte 教程的动态表单处理功能。
例如我的组件中有提交和单击句柄,例如
<form id="form-api-key" class="form-group" on:submit|preventDefault="{handleSubmit}">
当我 运行 我的网站使用 SvelteKit npm run dev
时一切正常。
npm run dev
但是,当我使用 SSR 的 Node.js 适配器将站点部署到生产环境时,JavaScript 处理程序的 none 会触发。 (我假设组件 JavaScript 逻辑的 none 被激活。)
svelte-kit build && node build/index.js
我觉得我遗漏了一些明显的东西,但不知道是什么 - 我认为即使使用 Node 适配器部署,Svelte 组件也应该继续运行?
版本
├─┬ @sveltejs/adapter-node@1.0.0-next.36
├── @sveltejs/adapter-static@1.0.0-next.13
├─┬ @sveltejs/kit@1.0.0-next.164
│ ├─┬ @sveltejs/vite-plugin-svelte@1.0.0-next.22
│ │ └── svelte-hmr@0.14.7
├── eslint-plugin-svelte3@3.2.0
├── prettier-plugin-svelte@2.3.1
├── svelte@3.42.5
├─┬ svelte-check@2.2.3
│ ├── svelte-preprocess@4.7.4 deduped
├─┬ svelte-preprocess@4.7.4
├── svelte-spinner@2.0.2
├─┬ svelte-time@0.4.0
├─┬ sveltestrap@4.2.1
原来这条特定路线有
hydrate = dev
作为 SvelteKit package template 的剩余物。
如果您需要在页面上进行互动 JavaScript,请确保您有
<script context="module">
hydrate = true;
<script>