nextjsは生産環境とテスト環境によって異なるパッケージを作成する


dev環境はtest環境やpro環境とはインタフェースが異なります.オンラインになる前にテストする必要があるからです.テストを容易にするために、異なるパッケージを打つ必要があります.nextjsでは、簡単な構成だけで必要な仕事を完成することができます.私が前にやったのは公式ドキュメントに基づいて作成しました.env.development , .env.productionおよび.env.test、しかしtestバッグを打った後にいつも1つの無限の循環のバグを報告して、長い間試しても解決していないで、もし熟知している小さい仲間があれば伝言の討論を歓迎します.
今私が使っているのは別の方法です.
nextjsフレームワークを構築した後、packageを見つけました.jsonというファイルは、その中の
"scripts": {
    "dev": "NEXT_PUBLIC_DOMAIN_ENV=development next dev",
    "build": "NEXT_PUBLIC_DOMAIN_ENV=production next build && next export",
    "start": "next start",
    "test":"NEXT_PUBLIC_DOMAIN_ENV=test next build && next export"
  }

ここでnext build&&next exportは、cdnに静的ファイルをパッケージ化するために使用されます.主に前にNEXTが入っていますPUBLIC_DOMAIN_ENV=testが重要です.それから私はルートディレクトリにconfigフォルダを追加して、新しいservicePathをインタフェースのアドレスファイルとして、reactとvueのフレームワークに詳しい学生はこれに対してよく知っているはずで、axiosがインタフェースを取得する時これを使うのはとても便利です(もちろんフォルダとファイルの名前は固定的ではありませんて、小さい仲間たちは自分の必要に応じて取ることができます)、以下は私のservicePathを添付します.jsの内容
let ipUrl = null; // 
if(process.env.NEXT_PUBLIC_DOMAIN_ENV==="production"){
    // 
    ipUrl="http://127.0.0.1:7001"
}else {
    // ( )
    ipUrl="http://128.0.0.1:7005"
}
let servicePath = {
  getArticleList: ipUrl + "/getArticleList", // 
};
export default servicePath;

そしてあなたのページにimport servicePath from '../config/servicePath' を導入します
残りの使用はあまり紹介しません.
最後のnpm run buildは生産環境パッケージであり、npm run testはテスト環境パッケージである.