많이 늦었지만 

좋은 글이 있어 올려봅니다.



개발자가 필히 알아야 할 ES6 10가지 기능



행복한 고수되셔요.


woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

'Web > JavaScript' 카테고리의 다른 글

[JavaScript] 개발자가 필히 알아야 할 ES6 10가지 기능  (0) 2019.01.15
[JavaScript] WebPack  (0) 2017.10.09
[JavaScript] SystemJS  (0) 2017.10.08
[JavaScript] Interval, Timeout  (0) 2017.02.11
[JavaScript] Markup Insertion  (0) 2017.02.10
[JavaScript] Pop Up 차단 확인  (0) 2017.01.26

 수많은 의존관계에 있는 JS 파일을 웹에 배포하는 것이 그리 쉬운일이 아닐겁니다.


이때 사용하는 것이 WebPack Module Bundler 입니다.


설치는 


npm install -g webpack


사용은 


webpack "WoojjaCustomer.js" "Bundle.js" --output-library='WoojjaLibrary'



webpack 에게 시작 JS 파일을 알려주면 참조관계에 맞추어 Bundle JS 파일을 생성해주며, WoojjaLibrary 라는 이름의 component 를 생성해줍니다.



HTML 에서의 사용은 


<script src="Bundle.js"></script>

<script>

var x = new WoojjaLibrary.Customer();

x.Add();

</script>


접근하는데도 편리하겠죠? 


행복한 고수되셔요~ ^^


woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


반응형

'Web > JavaScript' 카테고리의 다른 글

[JavaScript] 개발자가 필히 알아야 할 ES6 10가지 기능  (0) 2019.01.15
[JavaScript] WebPack  (0) 2017.10.09
[JavaScript] SystemJS  (0) 2017.10.08
[JavaScript] Interval, Timeout  (0) 2017.02.11
[JavaScript] Markup Insertion  (0) 2017.02.10
[JavaScript] Pop Up 차단 확인  (0) 2017.01.26


JavaScript 사용시 JavaScript 파일의 참조와는 상관없이 SystemJS 에게 시작 JS 파일을 알려주면 알아서 참조되는 JavaScript 파일을 Loading 해줍니다.


설치는 

npm install systemjs



사용법은 


<script src="system.js"></script>

<script>

SystemJS.import('./Customer.js')

.then(function(module){

var cust = new module.Customer();

cust.Add();

}).catch(function (err)

{ console.error(err); });;

</script>


SystemJS.import 에서 시작 JS 파일을 알려주고 있습니다.


행복한 고수되셔요. ^^


woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

'Web > JavaScript' 카테고리의 다른 글

[JavaScript] 개발자가 필히 알아야 할 ES6 10가지 기능  (0) 2019.01.15
[JavaScript] WebPack  (0) 2017.10.09
[JavaScript] SystemJS  (0) 2017.10.08
[JavaScript] Interval, Timeout  (0) 2017.02.11
[JavaScript] Markup Insertion  (0) 2017.02.10
[JavaScript] Pop Up 차단 확인  (0) 2017.01.26

 

Timeouts execute some code after a specified amount of time.

Intervals execute code repeatedly, waiting a specific amount of time in between each execution.

 

 

Timeout

 

Timeout 은 window 의 setTimeout() Method 로 설정한다.

첫번째 매개변수는 Code를 나타내는 문자열도 가능하고 Method 도 가능하다.

 

 

//avoid!
setTimeout(“alert(‘Hello world!’) “, 1000);


//preferred
setTimeout(function() {
    alert(“Hello world!”);
}, 1000);

 

 

첫번째 구문은 성능을 저하시키므로 피할 것.

 

 

setTimeout()을 호출하면 해당 타임아웃의 숫자형 ID 를 반환한다.

 

타임아웃 ID 는 코드의 고유식별자이며 타임아웃을 취소할때 사용한다.

 

//set the timeout
var timeoutId = setTimeout(function() {
    alert(“Hello world!”);
}, 1000);


//nevermind - cancel it
clearTimeout(timeoutId);

 

정해진 시간이 되기전에 clearTimeout()을 호출하기만 하면 타임아웃은 완전히 취소된다.

코드가 실행된 후에는 호출해도 아무 효과가 없다.

 

 

 

 

 

Interval

 

 

setInterval() 역시 IntervalID를 반환하며 후에 clearInterval()을 사용하여 Interval 을 취소할 때 사용한다.

 

Interval()은 취소하지 않으면 페이지가 떠 있는동안 계속 실행되므로 Interval 의 취소는 Timeout 의 취소보다 중요하다.

 

다음은 일반적인 사용예

 

 

var num = 0;
var max = 10;
var intervalId = null;


function incrementNumber() {
    num++;
    //if the max has been reached, cancel all pending executions
    if (num == max) {
        clearInterval(intervalId);
        alert(”Done”);
    }
}


intervalId = setInterval(incrementNumber, 500);

 

 

 

 

일반적으로 Interval()은 쓰지않는 편이 낫다.

 

var num = 0;
var max = 10;


function incrementNumber() {
    num++;
    //if the max has not been reached, set another timeout
    if (num < max) {
        setTimeout(incrementNumber, 500);
    } else {
        alert(“Done”);
    }
}


setTimeout(incrementNumber, 500);

 

 

이런 식으로 Timeout을 사용할 때는 다른 타임아웃이 필요할 때만 설정되므로 취소를 위해 timeoutID 를 추적할 필요가 없다. 사실 이 패턴은 Interval 없이 Interval 을 설정하는 모범사례.

Interval 사이의 시간을 정확히 보장하기 어렵고 이따금 일부 Interval을 건너뛰기도 하므로 실무에서는 Interval 을 잘 쓰지 않는다. 위 예제 처럼 Timeout 을 설정하면 그런 일은 발생하지 않는다.

 

 

-- 도서 "JavaScript for Web Developers" 를 정리

 

행복한 고수되십시요.

 

woojja ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

'Web > JavaScript' 카테고리의 다른 글

[JavaScript] WebPack  (0) 2017.10.09
[JavaScript] SystemJS  (0) 2017.10.08
[JavaScript] Interval, Timeout  (0) 2017.02.11
[JavaScript] Markup Insertion  (0) 2017.02.10
[JavaScript] Pop Up 차단 확인  (0) 2017.01.26
[JavaScript] Browser 탐지 스크립트  (0) 2017.01.26

+ Recent posts