問題タブ [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.
javascript - ロールアップ + バブル設定でサーバー側レンダリングで preact-compat を使用するには?
ロールアップ + ブーブルを使用しているプリアクト アプリがあります。Reactを使用する別のコンポーネントテキスト マスクを使用する必要があります。ロールアップ ビルド ファイル内にエイリアスを作成しようとしています。クライアント側では問題なく動作しますが、サーバー側でビルドすると失敗します。ロールアップ ビルド構成内のプラグイン セクションは次のとおりです:-
サーバー側アプリで preact-compat を使用しているときに問題があるという問題に遭遇し、代わりに module-alias を使用することを提案していました。だから私は自分のノードサーバーファイルに以下のモジュールエイリアスを与えてみました:-
それを行った後でも、私はまだ以下のエラーが発生します:-
typescript - Typescript + preact で Jest を使用する
テストでJSX をトランスパイルする際の問題h()。すべての構成ファイルは create-react-app に似ており、変更を除外しTypeScript、preact
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)?
テストサンプル: