バグを報告するためのテンプレートがあるかどうかはわかりません。
Node を実行していないサーバーにアプリケーションをロードしています。 また、Chrome DevTool では、プロセスが定義されていないため、react-window が機能しなくなります。
プロセスが環境で事前定義されていると想定しない方がよいでしょう。 そして、それは定義されていません。常に本番モードにする必要がありますか?
それについてさらに情報が必要な場合はお知らせください。 または、PR を押してこの問題を調整することもできます。
process.env.NODE_ENV は、通常はそのままの状態でノードで動作する規則であり、ブラウザで置き換える必要があります。 Webpack はこれに definePlugin を使用し、設定モードに従ってすぐに使用します。 "開発"。 Rollup はこれに rollup-plugin-replace を使用します。
したがって、サーバーで実行する前にアプリをバンドルする必要があります。 または手動で指定
global.process = {
env: {
NODE_ENV: 'production' // or development
}
}
@TrySoundのコメントは的を得ています。 十分な数の人々がこの問題を解決することに言及したら、README を更新します。 😄 とりあえず質問とタグ付けします!
プロセスが環境で事前定義されていると想定しない方がよいでしょう
私はあなたがどこから来ているのか理解できたと思いますが、実用的な観点からは、ほとんどのツールがこれを自動的に管理することを考えると、 process.env
規則に依存するのが合理的だと思います。
迅速な返信ありがとうございます。
最も多くのツールが自動的に管理
環境変数はアプリケーションのサービスから渡されるので、会話を始めます。 第二に、アプリケーションのビルド システムがかなり時代遅れです。 Webpack やロールアップなどの既存のツールを使用して管理するのは便利ではありません。
回避策は、グローバル変数を手動で作成し、それを process.env.NODE_ENV に割り当てることです。 アプリにグローバル AppContext が環境変数を管理しているため、少し重複しているように感じます。 それが私がこの質問をしている理由です。
閉めても大丈夫です。 柔軟性が制限されたビルド システムでこのライブラリを使用するのは、ちょっとしたハックです。
最も参考になるコメント
process.env.NODE_ENV は、通常はそのままの状態でノードで動作する規則であり、ブラウザで置き換える必要があります。 Webpack はこれに definePlugin を使用し、設定モードに従ってすぐに使用します。 "開発"。 Rollup はこれに rollup-plugin-replace を使用します。
したがって、サーバーで実行する前にアプリをバンドルする必要があります。 または手動で指定