Javascript 不带上下文的预加载函数=模块脚本标记

Javascript 不带上下文的预加载函数=模块脚本标记,javascript,preload,svelte,sapper,svelte-3,Javascript,Preload,Svelte,Sapper,Svelte 3,因为我不喜欢单个JS中的两个脚本标记。我在没有上下文=模块的情况下移动了预加载函数。很好用。我想知道随之而来的错误。context=module script标记允许您为组件定义排序实例。我可以看出您使用它的三个主要原因: 您可以定义其他组件可以导入的函数或其他代码。这通常最好放在一个单独的JS/TS文件中,但是,有时候它确实有意义。 您可以为该组件的所有实例定义只应定义一次的状态。例如,您可以创建一个计数器组件,用相同的值更新所有其他实例。注意,最好使用存储来实现此功能。。 您可以定义每个组件

因为我不喜欢单个JS中的两个脚本标记。我在没有上下文=模块的情况下移动了预加载函数。很好用。我想知道随之而来的错误。

context=module script标记允许您为组件定义排序实例。我可以看出您使用它的三个主要原因:

您可以定义其他组件可以导入的函数或其他代码。这通常最好放在一个单独的JS/TS文件中,但是,有时候它确实有意义。 您可以为该组件的所有实例定义只应定义一次的状态。例如,您可以创建一个计数器组件,用相同的值更新所有其他实例。注意,最好使用存储来实现此功能。。 您可以定义每个组件只发生一次的逻辑,并且技术上可以在创建组件之前使用。这与第1点有些矛盾。 我假设将preload函数移出modulescript标记不允许在生成页面组件之前进行预加载。因此,从本质上讲,创建组件并调用preload函数,这会在数据返回后导致重新渲染。如果模块脚本标记中包含预加载,则会获取预加载以创建第一个渲染

这是我自己受过教育的推测,不一定是事实

请参阅文档。

type=module允许您在脚本中使用导入语句。据我所知,这是唯一的区别;如果你需要导入东西,你必须保留它,如果你不需要导入任何东西,你可以很好地移除它。它不是静态的。详情如下: