SPA 프런트 엔드 개발, 쉽게 JavaScript로 가상 윈도우 시스템을 처리하는 모듈

1. 자바스크립트 가상 윈도우 프레임워크



SPA(SinglePageApplication)에 의한 프런트 엔드 개발은, UI를 구성하는 비용이 엄청나게 큰 것이 넥이 됩니다. 가능한 경우 쉽게 구현하고 싶은 곳입니다. 그래서 최소한의 코딩으로 나름의 UI를 만들 수 있는 프레임워크를 개발했습니다. IE11이나 GoogleBot에도 대응하고 있습니다.

일반적인 프런트 엔드 프레임 워크와의 차이는 윈도우를 기본 단위로하는 곳입니다. 그리고 HTML 태그를 확장하는 생각은 없습니다. 데이터의 입출력은 깨끗하게 JavaScript/TypeScript로 기술합니다.

프레임워크 사용 예





어떤 코드로 움직이는지



덧붙여서 최초의 소개 화상은 이하의 코드만으로 만들 수 있습니다. 이번은 리스트 뷰의 샘플입니다. 리스트 뷰는 헤더의 리사이즈나 소트에 표준 대응하고 있습니다.

동작 확인
h tps://그럼 ゔぁsc리 pt-우드 wf 라메를 rk. 기주 b. 이오 / jwf_사 mpぇ01
출처
htps : // 기주 b. 이 m / 그럼 Sc 리 pt 우드 wF 라메를 rk / jwf_ mp ぇ 01 /

index.ts
import * as JWF from 'javascript-window-framework'

function Main() {
    const listView = new JWF.ListView({frame:true}) //リストビューをフレーム付きで作成
    listView.addHeader(['番号','名前','攻撃力']) //ヘッダの作成
    listView.addItem([1,'竹槍',5])                //アイテムの設定
    listView.addItem([2,'棍棒', 10])
    listView.addItem([3,'銅の剣', 10])
    listView.setPos()                           //ウインドウを中央へ移動

    listView.addEventListener('itemClick',(e)=>{    //アイテムクリック処理
        const name = listView.getItemText(e.itemIndex,1)    //リストビューからデータを取り出す
        new JWF.MessageBox('メッセージ',name+"が選択された") //メッセージボックスの表示
    })
}

//ページ読み込み時に実行する処理を設定
addEventListener("DOMContentLoaded", Main)

2. JWF 모듈



 javascript-window-framework라는 이름으로 npm에 등록되어 있습니다. 빌드를 위해 NodeJS 설치가 필요합니다.

빌드까지의 단계


  • package.json 생성
  • npm -y init
    
  • JWF 모듈 설치
  • npm i javascript-window-framework
    
  • WebPack 설치 (다른 모듈 번들에서도 가능)
  • npm -D i webpack webpack-cli typescript ts-loader
    
  • TypeScript의 설정 파일의 작성 (.ts를 사용하지 않으면 불필요)
  • tsc --init
    
  • WebPack 구성 파일 만들기

  • webpack.config.js
    const path = require('path'); 
    
    module.exports = { 
        mode: 'production', 
        entry: './index.ts', 
        output: { 
            filename: 'bundle.js', 
            path: path.resolve(__dirname, 'dist') 
        }, module: { 
            rules: [{ 
                test: /\.ts$/, 
                use: "ts-loader" 
            }] 
        } 
    }; 
    
  • 테스트 코드 작성 (첫 번째 샘플에서도 OK)

  • index.ts
    import * as JWF from 'javascript-window-framework' 
    
    function Main() { 
        const win = new JWF.FrameWindow()    //フレームウインドウの作成 
        win.setTitle('サンプルウインドウ')    //タイトルの設定 
        win.setPos()                        //位置を中心に設定 
    
        const client = win.getClient()    //クライアントノードの取得 
        client.innerText = 'テキスト表示の\n実験' 
    } 
    
    //ページ読み込み時に実行する処理を設定 
    addEventListener("DOMContentLoaded", Main)
    
  • WebPack에서 빌드하여 dist/bundle.js를 생성
  • npx webpack
    
  • 초기 HTML 만들기

  • dist/index.html
    <!DOCTYPE html> 
    <html> 
    <head> 
        <meta charset="UTF-8" /> 
        <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1" /> 
        <script type="text/javascript" src="bundle.js"></script> 
    </head> 
    <body> 
    </body> 
    </html>
    
  • 확인
    브라우저에서 dist/index.html 열기

  • 3. 기타 다양한 기능



     npm에 등록했지만, 프레임워크의 개발은 조금 전부터 하고 있기 때문에, 꽤 다양한 기능이 포함되어 있습니다. 윈도우의 리사이즈는 물론, 복수의 윈도우의 중첩이나 우선 순서의 처리도 대응하고 있습니다. 또한 윈도우 안에 윈도우를 만들거나, 가동식의 분할 바를 붙이거나, 트리 뷰를 표시하거나, 캘린더 기능도 만들었습니다. 등록 기념에 기사를 쓸 수 있기 때문에, 앞으로 좀 더 알맞은 해설 기사를 써 가고 싶습니다.

     현재 htps : // c 납 d. jp/? p=610 로, 내용을 정리하고 있습니다.

    좋은 웹페이지 즐겨찾기