nextjsは生産環境とテスト環境によって異なるパッケージを作成する
dev環境はtest環境やpro環境とはインタフェースが異なります.オンラインになる前にテストする必要があるからです.テストを容易にするために、異なるパッケージを打つ必要があります.nextjsでは、簡単な構成だけで必要な仕事を完成することができます.私が前にやったのは公式ドキュメントに基づいて作成しました.env.development , .env.productionおよび.env.test、しかしtestバッグを打った後にいつも1つの無限の循環のバグを報告して、長い間試しても解決していないで、もし熟知している小さい仲間があれば伝言の討論を歓迎します.
今私が使っているのは別の方法です.
nextjsフレームワークを構築した後、packageを見つけました.jsonというファイルは、その中の
ここでnext build&&next exportは、cdnに静的ファイルをパッケージ化するために使用されます.主に前にNEXTが入っていますPUBLIC_DOMAIN_ENV=testが重要です.それから私はルートディレクトリにconfigフォルダを追加して、新しいservicePathをインタフェースのアドレスファイルとして、reactとvueのフレームワークに詳しい学生はこれに対してよく知っているはずで、axiosがインタフェースを取得する時これを使うのはとても便利です(もちろんフォルダとファイルの名前は固定的ではありませんて、小さい仲間たちは自分の必要に応じて取ることができます)、以下は私のservicePathを添付します.jsの内容
そしてあなたのページに
残りの使用はあまり紹介しません.
最後の
今私が使っているのは別の方法です.
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
はテスト環境パッケージである.