導入netlify
19545 ワード
次の内容が含まれます.
すべての内容が正解ではありません.
🏁 最初のAPI関連コードの作成
setupProxy.js(srcフォルダ)+インストールモジュール を使用 setupProxy.js axios.js 最外部に追加 netlify.toml の作成と追加 netlify.toml 環境変数鍵の追加
試行すると、ローカルのAPIはよく動作しますが、アドレス関連のAPIを配備する際に、正しいAPI操作、すなわち検証鍵が正しくありません.
🚩 localから変更
axios.js 最外部に追加 netlify.toml の作成と追加 netlify.toml
必要なnetlifyデプロイメントで、アドレス検索APIが実行されていることがわかります.
🏴 整理する
すべての内容が正解ではありません.
🏁 最初のAPI関連コードの作成
📕 ローカル作成手順
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function (app) {
app.use(
createProxyMiddleware('/api', {
target: 'https://www.juso.go.kr',
changeOrigin: true,
pathRewrite: {
'^/api': '',
},
}),
createProxyMiddleware('/caredoc', {
target: 'https://caredoc-fe-server.herokuapp.com',
changeOrigin: true,
pathRewrite: {
'^/caredoc': '',
},
}),
);
};
import axios from 'axios';
const getRepository = async (target, page) => {
try {
const response = await axios.get(
`/api/addrlink/addrLinkApiJsonp.do?keyword=${target}¤tPage=${page}&countPerPage=5&resultType=JSON&confmKey=${process.env.REACT_APP_SERVICE_KEY}`,
);
const data = response.data;
return data;
} catch (error) {
console.error(error);
}
};
const getStaticData = async () => {
try {
const response = await axios.get(`/caredoc/static`);
const data = response.data;
return data;
} catch (error) {
console.error(error);
}
};
const postRegisterData = async obj => {
try {
const response = await axios.post(`/caredoc/application`, obj);
const data = response.data;
return data;
} catch (error) {
console.error(error);
}
};
export { getRepository, getStaticData, postRegisterData };
.env
使用REACT_APP_SERVICE_KEY=관련key정보
📗 導入(netlify)
[[redirects]]
from = "/api/*"
to = "https://www.juso.go.kr/:splat"
status = 200
[[redirects]]
from = "/caredoc/*"
to = "https://caredoc-fe-server.herokuapp.com/:splat"
status = 200
[[redirects]]
from = "/"
to ="/index.html"
status = 200
試行すると、ローカルのAPIはよく動作しますが、アドレス関連のAPIを配備する際に、正しいAPI操作、すなわち検証鍵が正しくありません.
🚩 localから変更
📕 ローカル作成手順
import axios from 'axios';
const getRepository = async (target, page) => {
const params = {
keyword: target,
currentPage: page,
countPerPage: 5,
confmKey: process.env.REACT_APP_SERVICE_KEY,
resultType: 'json',
};
try {
const response = await axios.get(`/api/addrlink/addrLinkApiJsonp.do`, {
params,
});
const data = response.data;
return data;
} catch (error) {
console.error(error);
}
};
const getStaticData = async () => {
try {
const response = await axios.get(`/caredoc/static`);
const data = response.data;
return data;
} catch (error) {
console.error(error);
}
};
const postRegisterData = async obj => {
try {
const response = await axios.post(`/caredoc/application`, obj);
const data = response.data;
return data;
} catch (error) {
console.error(error);
}
};
export { getRepository, getStaticData, postRegisterData };
.env
使用REACT_APP_SERVICE_KEY=관련key정보
📗 導入(netlify)
[[redirects]]
from = "/api/*"
to = "https://www.juso.go.kr/:splat"
status = 200
[[redirects]]
from = "/caredoc/*"
to = "https://caredoc-fe-server.herokuapp.com/:splat"
status = 200
[[redirects]]
from = "/"
to ="/index.html"
status = 200
必要なnetlifyデプロイメントで、アドレス検索APIが実行されていることがわかります.
🏴 整理する
📕 ローカルで作成
setupProxyを使用して、http-proxy-middleware
を介してcorsでの発生を阻止します..env
プライマリ・キーはファイルを介してgithubにアップロードされません.
📗 デプロイメントから作成(netlify)
netlify.Toml上でAPI接続を確立し、setupProxyと似ています.(CORSエラー防止)
deployの環境変数に.env
で作成した鍵を追加し、勝手にアクセスできないようにします.
🏳 ソース
くるみネギ
Reference
この問題について(導入netlify), 我々は、より多くの情報をここで見つけました
https://velog.io/@khw970421/netlify-배포하기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
くるみネギ
Reference
この問題について(導入netlify), 我々は、より多くの情報をここで見つけました https://velog.io/@khw970421/netlify-배포하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol