묘한 질문을 좀 드려야 겠습니다.
저희가 PC용 앱을 개발하고 있는데, 자동 업데이트를 위해서 간단한 웹페이지를 운영합니다.
예를 들면 다음과 같은 템플릿 페이지가 있습니다.
index.html
-----------------------------------------
{AppName} 다운로드: https://domain.com/AppFile.exe
{AppName} 설치 중 문제가 발생하면 다음 연락처로 연락주십시오.
{Contact_Mail}
-----------------------------------------
문제는 저희가 PC용 앱을 개발할 때 마다, 저 템플릿 페이지를 일일히 수정해야 하는 번거로움이 있다는 겁니다.
(물론, 실제 템플릿 페이지는 변수도 훨씬 많고 복잡합니다.)
DB를 이용해서 php나 asp.net 등으로 처리하면 간단한 일이겠지만..
작업을 간단하게 처리하기 위해서 정적인 html 페이지로 국한시키려고 합니다.
(php나 asp.net 같은 것이 들어가면, 웹 서버 설치하는 것도 일이라..)
예를 들면, index.html 파일이 있는 곳에 data.ini 같은 파일이 있고, data.ini 파일은 다음과 같이 구성되어 있습니다.
data.ini
-------------------------------------
{AppName}=App Name 1
{Contact_Mail}=*******@******.com
-------------------------------------
이 때, index.html 파일이 열릴 때, 예를 들면 자바스크립트 같은 것이 data.ini 파일을 읽어서 변수를 바꾸어 출력해 주는 겁니다.
이렇게 하면 저희는 data.ini 파일만 수정해서 배포하면 되니까 무척 작업이 편리하겠죠.
(data.ini 를 parsing 하는 걸 물어보는 건 아닙니다. 그건 할 수 있습니다.)
검색을 좀 해 보니, 로컬 클라이언트의 파일을 읽어와서 처리하는 것은 많은데.. 웹 서버에 이미 존재하는 다른 파일을 불러오는 예제를 못 찾겠어서 질문 드리는 겁니다.
아니면, 자바스크립트 말고 다른 방법이라도 좋습니다.
아이디어 부탁합니다. ^^
p.s. php, asp.net 같은 것 이용하라는 권장사항은 사양합니다. php, asp.net 같은 것을 사용하려면 지금대로 일일히 수정하는 것이 더 일의 양이 적습니다.
asp, php, jsp ó·³ server side ¾ð¾î¸¦ ¾²¼Å¾ß µÇ¿ä
htmlÀº ¼¹ö¿¡ ÀÖ´Â ÆÄÀÏÀ» ¸ø Àд´Ù..
javascript°¡ ÀÐÀ» ¼ø ¾ø³ª¿ä? javascript°¡ ÀÐÀ» ¼ö ÀÖÀ¸¸é ¾î¶»°Ôµç ó¸®ÇÒ ¼ö ÀÖÀ» °Í °°¾Æ¼¿ä.. ¤Ð.¤Ð
ÅÛÇø´ ÆäÀÌÁö ÇØ´ç À§Ä¡¿¡ ÇØ´ç º¯¼ö Ç¥½ÃÇÏ´Â JS ÆÄÀÏ Çϳª
·Î ±¸¼ºÇØ
º¯¼ö ÀúÀåÇÏ´Â JS ÆÄÀϸ¸ ¼öÁ¤ ¹èÆ÷ÇÏ½Ã¸é µÉ °Í °°Àºµ¥¿ä.
<!doctype html>
<html lang="en">
<head>
<script type="text/javascript" src="º¯¼ö.js"></script>
<script type="text/javascript" src="Ç¥±â.js"></script>
<title>ÅÛÇø´</title>
</head>
<body onload="Ç¥±âÇÔ¼ö()">
</body>
</html>
¿ª½Ã ¹æ¹ýÀÌ ÀÖ¾ú½À´Ï´Ù. ^^
°í¸¿½À´Ï´Ù!
--- test.html ----
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Å×½ºÆ®</title>
</head>
<body></body>
<script language="javascript" src="test.ini"></script>
<script language="javascript">
let Templete = `
{AppName} ´Ù¿î·Îµå: https://domain.com/AppFile.exe<br>
<br>
{AppName} ¼³Ä¡ Áß ¹®Á¦°¡ ¹ß»ýÇÏ¸é ´ÙÀ½ ¿¬¶ôó·Î ¿¬¶ôÁֽʽÿÀ.<br>
{Contact_Mail}<br>
`;
document.body.innerHTML = setTemplete(Templete);
</script>
</html>
--- test.ini ---
let mapObj = {
"{AppName}":"Å×½ºÆ®ÇÁ·Î±×·¥",
"{Contact_Mail}":"¾î¼°í@Àú¼°í.com"
};
function setTemplete(str){
let re = new RegExp(Object.keys(mapObj).join("|"),"gi");
return str.replace(re, function(matched){
return mapObj[matched];
});
}
°í¸¿½À´Ï´Ù~
¼¹ö ·ÎÁ÷ µÞ´Ü¿¡´Â dbµµ ÀÖ°í, Á¾·ù¿¡ µû¶ó¼´Â ±× »çÀÌÆ®¿¡ Ä¿½ºÅÒµÈ ´Ù¸¥ ¼Ö·ç¼Çµé°ú ¿¬°èµÇ´Â°Íµéµµ ÀÖ½À´Ï´Ù.
ƯÁ¤ ÆÐÅÏ¿¡ ¸ÂÃç¼ Ä¿½ºÅÒÇÏ´Â °ÍÀº °¡´ÉÇÏ°ÚÁö¸¸ html À» °íÄ¡±â À§ÇØ jsp, php, asp±îÁö °íÃÄÁÖ´Â ÇÁ·Î±×·¥ ¸¸µå´Â°ÍÀº ºÒ°¡´ÉÀ̶ó°í º¸½Ã´Â°Ô ¸Â½À´Ï´Ù.
html ¹Ù·Î º¸³»´Â °æ¿ìµµ ÀÖ±ä Çѵ¥(Á¤Àû html ÆäÀÌÁö) ¸Å¿ì µå¹´´Ï´Ù. ƯÈ÷ cms·Î µ¹¸®´Â »çÀÌÆ®µéÀº db¿¡´Ù Ãâ·ÂÇÒ html ³Ö¾îµÎ±âµµ ÇÕ´Ï´Ù.
°Å±âÆÄÀÏ À¥¿¡¼ ¹Ù·Î¼öÁ¤ °¡´ÉÇϴϱñ ¹Ù·Î ¿¬°áÇؼ »ç¿ëÇϽøé
µÇÁö ¾ÊÀ»±î¿ä?
C# À̸é ÆÄÀÏ Àоî¿Í¼ ³»Àå ºê¶ó¿ìÁ®¿¡ ¹Ù·Î »Ñ¸®¸é µÇ°í
Html ÆÄÀÏÀÚü¸¦ º¸¿©ÁÖ´Â°Å¸é ±êÇãºê Á¨Å²½º µÇµµ·ÏÇؼ ¿Ã¸®¸é µÉµíÇÕ´Ï´Ù