vite/rollup.js を使用して Node.js の os モジュールを拡張します
P粉176151589
P粉176151589 2023-08-24 16:17:55
0
2
503
<p>私は <code>opensea-js</code> パッケージを使用する Vite プロジェクトに取り組んでいます。このパッケージは <code>xhr2-cookies</code> に依存しており、<code>os</code>、<code>http</code>、<code>https</code> などをインポートします。内部ノードモジュール。 </p> <p>opensea メソッドを呼び出そうとすると、次のエラーが発生します: </p> <pre class="brush:php;toolbar:false;">キャッチされません (約束内) TypeError: os.type は関数ではありません XMLHttpRequest2 xml-http-request.ts:102 prepareRequest httpprovider.js:61 sendAsync httpprovider.js:116 node_modules opensea-js.js:24209</pre> <p>このエラーを追跡すると、ユーザー エージェント文字列の構築に起因していることがわかります。 </p> <p><code>rollup-plugin-polyfill-node</code> をインストールして <code>vite.config.js</code> に追加しようとしましたが、同じエラーが発生します: < ;/ p> <pre class="brush:php;toolbar:false;">「パス」からパスをインポート 「@vitejs/plugin-vue」から vue をインポートします 「rollup-plugin-polyfill-node」からnodePolyfillsをインポートします 「vite」から {defineConfig} をインポートします // https://vitejs.dev/config/ デフォルトのdefineConfigをエクスポート({ プラグイン: [vue()]、 解決する: { エイリアス: { '@': path.resolve(__dirname, 'src'), }、 }、 サーバー: { ポート: 8080、 }、 定義する: { 'プロセス.環境': {}, }、 建てる: { ロールアップオプション: { プラグイン: [ ノードポリフィル()、 ]、 }、 }、 })</pre> <p> また、<code>patch-package</code> を使用してファイルを手動で修復しようとしましたが、これにより <code>os</code> エラーが解決されましたが、リクエストを送信しようとしたときに失敗しました(ポリフィル<code>http</code>/<code>https</code>モジュール)。 </p>
P粉176151589
P粉176151589

全員に返信(2)
P粉863295057

私はこの問題を解決するために rollup-plugin-polyfill-node を使用しました。

リーリー

これは、ファビアーノの答えに基づいたより完全な解決策です:

リーリー
いいねを押す +0
P粉720716934

私のプロジェクトでは、問題を解決するために次の構成を使用しました。解決策については、短い記事で説明します。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート