問題タブ [preact]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
565 参照

javascript - ロールアップ + バブル設定でサーバー側レンダリングで preact-compat を使用するには?

ロールアップ + ブーブルを使用しているプリアクト アプリがあります。Reactを使用する別のコンポーネントテキスト マスクを使用する必要があります。ロールアップ ビルド ファイル内にエイリアスを作成しようとしています。クライアント側では問題なく動作しますが、サーバー側でビルドすると失敗します。ロールアップ ビルド構成内のプラグイン セクションは次のとおりです:-

サーバー側アプリで preact-compat を使用しているときに問題があるという問題に遭遇し、代わりに module-alias を使用することを提案していまし。だから私は自分のノードサーバーファイルに以下のモジュールエイリアスを与えてみました:-

それを行った後でも、私はまだ以下のエラーが発生します:-

0 投票する
1 に答える
1167 参照

typescript - Typescript + preact で Jest を使用する

テストでJSX をトランスパイルする際の問題h()。すべての構成ファイルは create-react-app に似ており、変更を除外しTypeScriptpreact

create-react-app my-app --script=react-scripts-tsTypeScriptプロジェクト用に-経由でアプリを作成します。次に、イジェクトして(使用しないでください) に変更reactします。preactpreact-compat

preactI'm add to package.jsoninto babel.plugins sectionnew plugin ["babel-plugin-transform-react-jsx", { pragma: "h"}]-デフォルトの代わり<JSX />h(JSX)関数呼び出しにトランスパイルするため (移行React.createElement(JSX)ガイドhttps://preactjs.com/guide/switching-to-preact )。

そして、これはうまくいきます。

しかし、テストにはトランスパイルの構成が異なります。デフォルトは<JSX />トランスパイルです。React.createElement(JSX)そしてテストで私はエラーを取りますReferenceError: React is not defined at Object.<anonymous> (src/Linkify/Linkify.test.tsx:39:21)。テストおよびテスト済みファイルに手動で変更<JSX />すると、動作します。h(SomeComponent)

テストのためにトランスパイル<JSX />する方法はh(JSX)?

テストサンプル: