【发布时间】:2019-12-14 20:54:46
【问题描述】:
我正在尝试深入研究 Svelte 3 (v3.7.1),它运行良好……在包含外部 CSS(引导程序)方面存在一些障碍。
但是,我似乎无法理解的一件事是在我的浏览器中调试苗条的应用程序
我发现一篇关于 svelte github 问题的帖子指出,我只需在代码中的某处包含 {@debug} 即可使浏览器在“那个点”中断,以便我可以调试和检查当前状态。
但是:这根本行不通。即使{@debug} 存在,即使我打开了开发人员工具也没有中断。
为了调试我的代码,我必须做什么?
编辑:我认为您需要了解我的设置
我使用一个 node/express 网络服务器,它作为来自 svelte 项目子文件夹的app.use(express.static('svelteclient/public')) 为已编译的 svelte 客户端提供服务。
代码摘录:
<script>
import { onMount } from 'svelte';
let searches = ["angular", "deno", "svelte", "stencil"];
let tweets = {};
let currentImage = null;
let currentYTUrl = "";
for(let search of searches) {
tweets[search] = [];
}
let socket = io();
let modal = null;
let ytmodal = null;
onMount(() => {
modal = UIkit.modal('#mymodal');
ytmodal = UIkit.modal('#myytmodal');
});
...
</script>
<style>
.uk-panel-badge .uk-badge {
cursor: pointer;
}
</style>
{@debug}
<div class="uk-grid" data-uk-grid-margin>
{#each searches as search}
<div class={'uk-width-medium-1-' + searches.length}>
...
</div>
{/each}
</div>
Chrome 版本为 75.0.3770.142
【问题讨论】:
-
确保使用
dev: true进行编译,否则{@debug ...}标签将被删除 -
如果你的意思是
dev: truein rollup.config.js -> plugins -> svelte() ...它不起作用。但是我找到了一种方法……只需npm run dev然后立即停止实时重载服务器 -
dev: true如果您还阻止 terser() 插件运行,则可以使用 -
使用 svelte-watch,它允许使用 redux devtools 监控组件状态
标签: svelte