機能リクエストは問題に関連していますか?
多くのサブコンポーネントを持ついくつかの複雑なコンポーネントがあります。 サブコンポーネントはプライベートであり、1つの大きなコンポーネントを作成するために一緒になります。
次に例を示します。
form/
input.svelte
textarea.svelte
index.svelte
radio.svelte
checkbox.svelte
希望するソリューションを説明してください
form/index.svelte
明示的に書くのではなく、 form/
をform/index.svelte
に解決できるようにしたいと思います。
このプラグインは、デフォルトで、拡張子が.svelteのファイルに対してnode.jsスタイルの解像度に従う必要があると思います。
form/ => form/index.svelte
form/input => form/input.svelte (or form/input/index.svelte)
form/input.svelte => form/input.svelte
どのファイルがSvelteファイルで、どのファイルが通常のファイルであるかが区別できなくなったため、私はこれに反対しています。 同じフォルダにindex.js
とindex.svelte
がある場合はどうなりますか? 何をインポートする必要がありますか? これは重大な変更になります。 また、私が知る限り、それはバンドラーによってもサポートされていません。
特定のケースでは、次の内容でindex.js
を追加することをお勧めします。
export { default as Index } from './index.svelte';
// ... you can add your other Svelte files here as well
そしてそれを次のようにインポートします
<script>
import { Index } from './form';
</script>
お返事をありがとうございます。 この問題はあまり物議を醸すとは思わなかったので、同じページにいることを再確認したいと思います。
Javascript、Typescript、JSX、またはTSXファイルを解決するのと同じ方法でSvelteファイルを解決する機能を求めています。
同様に、TypescriptまたはReactプロジェクトに拡張機能を追加する必要はありません。
import A from "./a.ts"
// you can just do
import A from "./a"
VSCode typescriptリゾルバーは、Node.js解決ルールに従います。 ノードの解決ルールの設計について話しているとき、あなたの主張は非常に有効です。 私はあなたがより制限的であることについて同意します。
しかし、船が出航したことを考えると、 .svelte
拡張機能が.ts
、 .tsx
、 .jsx
拡張機能と何が違うのでしょうか。
拡張機能をスキップすることは、歴史的にノードの解決メカニズムの特異性です。 NpmのIsaacZ。Schlueterは、当時の議論に関わっていたと思いますが、それ以来、それについて後悔を表明しています。 そして、彼は彼の投稿へのコメントで理解できないことに遭遇しました。 これは確かに非常に物議を醸すトピックですのでご安心ください。
標準のESMインポートには、拡張機能をスキップするという意味では何もありません。これは、デフォルトでSvelte(およびRollup)が一致する傾向がある方向です。
そうは言っても、それは純粋にあなたが使用するバンドラーの関心事です。 私の記憶が正しければ、Webpackでは.svelte
拡張子はデフォルトでオプションです。 そしてロールアップでは、それはノード解決プラグインの
そうは言っても、それは純粋にあなたが使用するバンドラーの関心事です。 私の記憶が正しければ、Webpackでは
.svelte
拡張子はデフォルトでオプションです。 そしてロールアップでは、それはノード解決プラグインの
興味深いことに、webpackプラグインのデフォルトで拡張機能がオプションであることを知りませんでした。
これをサポートするということは、言語サーバーでのモジュール解決の方法を変更することを意味します。 また、この動作が必要かどうかを宣言できるように設定する必要があります。結局、Svelteインポートを.svelte
なしで書き込む場合は、ビルド構成も変更する必要があります。
他の人がこれを検討できるように、再開します。
これに対するRichの気持ちを知りたい場合は、 https :
私も同意します。 拡張子なしでファイルを解決できるからといって、そうすべきだという意味ではありません。
最も参考になるコメント
これに対するRichの気持ちを知りたい場合は、 https :
私も同意します。 拡張子なしでファイルを解決できるからといって、そうすべきだという意味ではありません。