[{"data":1,"prerenderedAt":960},["ShallowReactive",2],{"navigation_docs":3,"-frontend-js-libraries":190,"-frontend-js-libraries-surround":955},[4,136,150,183],{"title":5,"path":6,"stem":7,"children":8},"Frontend","\u002Ffrontend","1.frontend",[9,13,39,76,109,130],{"title":10,"path":6,"stem":11,"order":12},"フロントエンド ガイドライン","1.frontend\u002Findex",1,{"title":14,"path":15,"stem":16,"children":17},"HTML","\u002Ffrontend\u002Fhtml","1.frontend\u002F1.html\u002Findex",[18,19,23,27,31,35],{"title":14,"path":15,"stem":16},{"title":20,"path":21,"stem":22},"コードスタイル","\u002Ffrontend\u002Fhtml\u002Fcode-style","1.frontend\u002F1.html\u002Fcode-style",{"title":24,"path":25,"stem":26},"見出しタグ","\u002Ffrontend\u002Fhtml\u002Fheading","1.frontend\u002F1.html\u002Fheading",{"title":28,"path":29,"stem":30},"img タグ","\u002Ffrontend\u002Fhtml\u002Fimg","1.frontend\u002F1.html\u002Fimg",{"title":32,"path":33,"stem":34},"パスとリンク","\u002Ffrontend\u002Fhtml\u002Flink","1.frontend\u002F1.html\u002Flink",{"title":36,"path":37,"stem":38},"品質管理","\u002Ffrontend\u002Fhtml\u002Fquality","1.frontend\u002F1.html\u002Fquality",{"title":40,"path":41,"stem":42,"children":43},"CSS","\u002Ffrontend\u002Fcss","1.frontend\u002F2.css\u002Findex",[44,45,49,52,56,60,64,68,72],{"title":40,"path":41,"stem":42},{"title":46,"path":47,"stem":48},"命名規則・コンポーネント設計","\u002Ffrontend\u002Fcss\u002Farchitecture","1.frontend\u002F2.css\u002Farchitecture",{"title":20,"path":50,"stem":51},"\u002Ffrontend\u002Fcss\u002Fcode-style","1.frontend\u002F2.css\u002Fcode-style",{"title":53,"path":54,"stem":55},"Web フォント","\u002Ffrontend\u002Fcss\u002Ffonts","1.frontend\u002F2.css\u002Ffonts",{"title":57,"path":58,"stem":59},"記述順番","\u002Ffrontend\u002Fcss\u002Forder","1.frontend\u002F2.css\u002Forder",{"title":61,"path":62,"stem":63},"プロパティのルール","\u002Ffrontend\u002Fcss\u002Fproperties","1.frontend\u002F2.css\u002Fproperties",{"title":65,"path":66,"stem":67},"Tailwind CSS","\u002Ffrontend\u002Fcss\u002Ftailwind","1.frontend\u002F2.css\u002Ftailwind",{"title":69,"path":70,"stem":71},"値のルール","\u002Ffrontend\u002Fcss\u002Fvalues","1.frontend\u002F2.css\u002Fvalues",{"title":73,"path":74,"stem":75},"CSS 変数（カスタムプロパティ）","\u002Ffrontend\u002Fcss\u002Fvariables","1.frontend\u002F2.css\u002Fvariables",{"title":77,"path":78,"stem":79,"children":80},"JavaScript","\u002Ffrontend\u002Fjs","1.frontend\u002F3.js\u002Findex",[81,82,85,89,93,97,101,105],{"title":77,"path":78,"stem":79},{"title":20,"path":83,"stem":84},"\u002Ffrontend\u002Fjs\u002Fcode-style","1.frontend\u002F3.js\u002Fcode-style",{"title":86,"path":87,"stem":88},"エラーハンドリング","\u002Ffrontend\u002Fjs\u002Ferror-handling","1.frontend\u002F3.js\u002Ferror-handling",{"title":90,"path":91,"stem":92},"ライブラリの利用","\u002Ffrontend\u002Fjs\u002Flibraries","1.frontend\u002F3.js\u002Flibraries",{"title":94,"path":95,"stem":96},"HTML への読み込み","\u002Ffrontend\u002Fjs\u002Floading","1.frontend\u002F3.js\u002Floading",{"title":98,"path":99,"stem":100},"モジュール","\u002Ffrontend\u002Fjs\u002Fmodule-structure","1.frontend\u002F3.js\u002Fmodule-structure",{"title":102,"path":103,"stem":104},"命名規則","\u002Ffrontend\u002Fjs\u002Fnaming","1.frontend\u002F3.js\u002Fnaming",{"title":106,"path":107,"stem":108},"パフォーマンス最適化","\u002Ffrontend\u002Fjs\u002Fperformance","1.frontend\u002F3.js\u002Fperformance",{"title":110,"path":111,"stem":112,"children":113},"画像・メディアリソースガイドライン","\u002Ffrontend\u002Fmedia","1.frontend\u002F4.media\u002Findex",[114,115,119,123,127],{"title":110,"path":111,"stem":112},{"title":116,"path":117,"stem":118},"アクセシビリティ","\u002Ffrontend\u002Fmedia\u002Faccessibility","1.frontend\u002F4.media\u002Faccessibility",{"title":120,"path":121,"stem":122},"画像フォーマット","\u002Ffrontend\u002Fmedia\u002Fformats","1.frontend\u002F4.media\u002Fformats",{"title":124,"path":125,"stem":126},"ファイル命名規則","\u002Ffrontend\u002Fmedia\u002Fnaming","1.frontend\u002F4.media\u002Fnaming",{"title":106,"path":128,"stem":129},"\u002Ffrontend\u002Fmedia\u002Foptimization","1.frontend\u002F4.media\u002Foptimization",{"title":131,"path":132,"stem":133,"children":134},"開発環境テンプレート","\u002Ffrontend\u002Fenvironment","1.frontend\u002F5.environment\u002Findex",[135],{"title":131,"path":132,"stem":133},{"title":137,"path":138,"stem":139,"children":140,"page":149},"Deploy Release","\u002Fdeploy-release","2.deploy-release",[141,145],{"title":142,"path":143,"stem":144},"デプロイ","\u002Fdeploy-release\u002Fdeploy","2.deploy-release\u002Fdeploy",{"title":146,"path":147,"stem":148},"リリース","\u002Fdeploy-release\u002Frelease","2.deploy-release\u002Frelease",false,{"title":151,"path":152,"stem":153,"children":154},"Git","\u002Fgit","3.git",[155,159,163,167,171,175,179],{"title":156,"path":152,"stem":157,"order":158},"Git ガイドライン","3.git\u002Findex",3,{"title":160,"path":161,"stem":162},"ブランチ戦略","\u002Fgit\u002Fbranch","3.git\u002Fbranch",{"title":164,"path":165,"stem":166},"CI\u002FCD運用","\u002Fgit\u002Fcicd","3.git\u002Fcicd",{"title":168,"path":169,"stem":170},"コミットメッセージとタグ","\u002Fgit\u002Fmessage","3.git\u002Fmessage",{"title":172,"path":173,"stem":174},"Pull Request運用","\u002Fgit\u002Fpull-request","3.git\u002Fpull-request",{"title":176,"path":177,"stem":178},"リポジトリ運用","\u002Fgit\u002Frepository","3.git\u002Frepository",{"title":180,"path":181,"stem":182},"GitHub権限・セキュリティ","\u002Fgit\u002Fsecurity","3.git\u002Fsecurity",{"title":184,"path":185,"stem":186,"children":187,"order":189},"AI 利用ガイドライン","\u002Fai","4.ai\u002Findex",[188],{"title":184,"path":185,"stem":186,"order":189},4,{"id":191,"title":90,"body":192,"description":948,"extension":949,"links":950,"meta":951,"navigation":351,"path":91,"seo":953,"stem":92,"__hash__":954},"docs\u002F1.frontend\u002F3.js\u002Flibraries.md",{"type":193,"value":194,"toc":931},"minimark",[195,199,207,211,223,228,244,247,255,259,267,269,272,275,278,281,284,287,293,385,388,396,399,402,570,574,795,799,927],[196,197,198],"p",{},"ライブラリやモジュールを活用してなるべく少ない工数で実装できることが望ましいですが、利用するライブラリが信用できるかどうかは十分に検証する必要があります。",[200,201,202,203,206],"warning",{},"ライブラリを利用するということは、将来的にそのライブラリが提供する機能やセキュリティに問題が発生した場合、そのライブラリをアップデートまたは別のものに置き換えたりする必要があることを意味します。",[204,205],"br",{},"\nこれはクライアントのウェブサイトを継続的に保守運用できるかどうかで慎重に判断する必要があります。",[208,209,210],"h2",{"id":210},"推奨ライブラリ",[196,212,213,214,216,217,222],{},"次に上げるライブラリは利用しても構いません。",[204,215],{},"\nこれら以外のライブラリを利用する場合は ",[218,219,221],"a",{"href":220},"#%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E9%81%B8%E5%AE%9A%E5%9F%BA%E6%BA%96","ライブラリ選定基準"," に基づいて適切にライブラリの利用を検討してください。",[224,225,227],"h3",{"id":226},"ui-ライブラリ","UI ライブラリ",[229,230,231,239],"ul",{},[232,233,234,238],"li",{},[235,236,237],"strong",{},"Swiper"," - カルーセル・スライダー",[232,240,241,238],{},[235,242,243],{},"Embla Carousel",[224,245,246],{"id":246},"アニメーションライブラリ",[229,248,249],{},[232,250,251,254],{},[235,252,253],{},"GSAP"," - 高性能なアニメーション",[224,256,258],{"id":257},"dom-api-ラッパー","DOM API ラッパー",[229,260,261],{},[232,262,263,266],{},[235,264,265],{},"jQuery","（3 系最新版） - DOM 操作の簡略化",[208,268,221],{"id":221},[196,270,271],{},"ライブラリを選定する際は、まずアクティブに開発が続けられているか、定期的なアップデートや GitHub での活動状況、コミュニティのサポート体制を確認してください。",[196,273,274],{},"また、セキュリティ上の問題がないか事前に調査し、メンテナンス性や将来的なバージョンアップ対応も考慮してください。プロジェクトの規模や要件に対して過剰な機能を持つライブラリは避け、既存のプロジェクト構成やコーディング規約と整合性が取れているかも確認することが大切です。",[208,276,277],{"id":277},"ライブラリ管理ルール",[224,279,280],{"id":280},"基本方針",[196,282,283],{},"ライブラリや外部モジュールを使用する際は、まず必ずライセンスを確認してください。また、そのライブラリが本当に必要かどうかを検討し、必要最小限のものだけを導入するようにしてください。",[196,285,286],{},"CMS やその他の制約がある場合は外部ファイルとして読み込んでも構いません。その場合はダウンロードしてウェブサイトと同じサーバーにホストしてください。",[200,288,289,290,292],{},"CDN 利用について",[204,291],{},"\nCDN の配信サーバが障害を起こした際に影響を受けてしまうため、CDN からの直接参照は避けてください。",[294,295,300],"pre",{"className":296,"code":297,"language":298,"meta":299,"style":299},"language-html shiki shiki-themes github-light material-theme material-theme-palenight","\u003C!-- ❌ CDNから参照している。 -->\n\u003Cscript src=\"https:\u002F\u002Fcode.jquery.com\u002Fjquery-3.4.1.min.js\">\u003C\u002Fscript>\n\n\u003C!-- ✅ サイトと同じサーバに配置して参照する。 -->\n\u003Cscript src=\"\u002Fjs\u002Fjquery.min.js\" defer>\u003C\u002Fscript>\n","html","",[301,302,303,311,347,353,358],"code",{"__ignoreMap":299},[304,305,307],"span",{"class":306,"line":12},"line",[304,308,310],{"class":309},"su8Ar","\u003C!-- ❌ CDNから参照している。 -->\n",[304,312,314,318,322,326,329,333,337,339,342,344],{"class":306,"line":313},2,[304,315,317],{"class":316},"sN50r","\u003C",[304,319,321],{"class":320},"sF3G6","script",[304,323,325],{"class":324},"sAjK8"," src",[304,327,328],{"class":316},"=",[304,330,332],{"class":331},"ssQ5U","\"",[304,334,336],{"class":335},"scigg","https:\u002F\u002Fcode.jquery.com\u002Fjquery-3.4.1.min.js",[304,338,332],{"class":331},[304,340,341],{"class":316},">\u003C\u002F",[304,343,321],{"class":320},[304,345,346],{"class":316},">\n",[304,348,349],{"class":306,"line":158},[304,350,352],{"emptyLinePlaceholder":351},true,"\n",[304,354,355],{"class":306,"line":189},[304,356,357],{"class":309},"\u003C!-- ✅ サイトと同じサーバに配置して参照する。 -->\n",[304,359,361,363,365,367,369,371,374,376,379,381,383],{"class":306,"line":360},5,[304,362,317],{"class":316},[304,364,321],{"class":320},[304,366,325],{"class":324},[304,368,328],{"class":316},[304,370,332],{"class":331},[304,372,373],{"class":335},"\u002Fjs\u002Fjquery.min.js",[304,375,332],{"class":331},[304,377,378],{"class":324}," defer",[304,380,341],{"class":316},[304,382,321],{"class":320},[304,384,346],{"class":316},[224,386,387],{"id":387},"ディレクトリ構造",[294,389,394],{"className":390,"code":392,"language":393},[391],"language-text","\u002Fassets\u002Fvendor\u002F\n├── jquery\u002F\n│   ├── jquery-3.6.0.min.js\n│   └── LICENSE.txt\n├── swiper\u002F\n│   ├── swiper-bundle.min.js\n│   ├── swiper-bundle.min.css\n│   └── LICENSE\n└── gsap\u002F\n    ├── gsap.min.js\n    └── LICENSE\n","text",[301,395,392],{"__ignoreMap":299},[208,397,398],{"id":398},"実装例",[224,400,401],{"id":401},"ライブラリ管理例",[294,403,405],{"className":296,"code":404,"language":298,"meta":299,"style":299},"\u003C!-- 外部ライブラリの読み込み -->\n\u003Chead>\n  \u003C!-- jQuery 3.6.0 -->\n  \u003Cscript defer src=\"\u002Fassets\u002Fvendor\u002Fjquery\u002Fjquery-3.6.0.min.js\">\u003C\u002Fscript>\n\n  \u003C!-- Swiper 8.4.5 -->\n  \u003Clink rel=\"stylesheet\" href=\"\u002Fassets\u002Fvendor\u002Fswiper\u002Fswiper-bundle.min.css\" \u002F>\n  \u003Cscript defer src=\"\u002Fassets\u002Fvendor\u002Fswiper\u002Fswiper-bundle.min.js\">\u003C\u002Fscript>\n\n  \u003C!-- 自作スクリプト -->\n  \u003Cscript defer src=\"\u002Fassets\u002Fjs\u002Fcommon.js\">\u003C\u002Fscript>\n\u003C\u002Fhead>\n",[301,406,407,412,421,426,452,456,462,497,523,528,534,560],{"__ignoreMap":299},[304,408,409],{"class":306,"line":12},[304,410,411],{"class":309},"\u003C!-- 外部ライブラリの読み込み -->\n",[304,413,414,416,419],{"class":306,"line":313},[304,415,317],{"class":316},[304,417,418],{"class":320},"head",[304,420,346],{"class":316},[304,422,423],{"class":306,"line":158},[304,424,425],{"class":309},"  \u003C!-- jQuery 3.6.0 -->\n",[304,427,428,431,433,435,437,439,441,444,446,448,450],{"class":306,"line":189},[304,429,430],{"class":316},"  \u003C",[304,432,321],{"class":320},[304,434,378],{"class":324},[304,436,325],{"class":324},[304,438,328],{"class":316},[304,440,332],{"class":331},[304,442,443],{"class":335},"\u002Fassets\u002Fvendor\u002Fjquery\u002Fjquery-3.6.0.min.js",[304,445,332],{"class":331},[304,447,341],{"class":316},[304,449,321],{"class":320},[304,451,346],{"class":316},[304,453,454],{"class":306,"line":360},[304,455,352],{"emptyLinePlaceholder":351},[304,457,459],{"class":306,"line":458},6,[304,460,461],{"class":309},"  \u003C!-- Swiper 8.4.5 -->\n",[304,463,465,467,470,473,475,477,480,482,485,487,489,492,494],{"class":306,"line":464},7,[304,466,430],{"class":316},[304,468,469],{"class":320},"link",[304,471,472],{"class":324}," rel",[304,474,328],{"class":316},[304,476,332],{"class":331},[304,478,479],{"class":335},"stylesheet",[304,481,332],{"class":331},[304,483,484],{"class":324}," href",[304,486,328],{"class":316},[304,488,332],{"class":331},[304,490,491],{"class":335},"\u002Fassets\u002Fvendor\u002Fswiper\u002Fswiper-bundle.min.css",[304,493,332],{"class":331},[304,495,496],{"class":316}," \u002F>\n",[304,498,500,502,504,506,508,510,512,515,517,519,521],{"class":306,"line":499},8,[304,501,430],{"class":316},[304,503,321],{"class":320},[304,505,378],{"class":324},[304,507,325],{"class":324},[304,509,328],{"class":316},[304,511,332],{"class":331},[304,513,514],{"class":335},"\u002Fassets\u002Fvendor\u002Fswiper\u002Fswiper-bundle.min.js",[304,516,332],{"class":331},[304,518,341],{"class":316},[304,520,321],{"class":320},[304,522,346],{"class":316},[304,524,526],{"class":306,"line":525},9,[304,527,352],{"emptyLinePlaceholder":351},[304,529,531],{"class":306,"line":530},10,[304,532,533],{"class":309},"  \u003C!-- 自作スクリプト -->\n",[304,535,537,539,541,543,545,547,549,552,554,556,558],{"class":306,"line":536},11,[304,538,430],{"class":316},[304,540,321],{"class":320},[304,542,378],{"class":324},[304,544,325],{"class":324},[304,546,328],{"class":316},[304,548,332],{"class":331},[304,550,551],{"class":335},"\u002Fassets\u002Fjs\u002Fcommon.js",[304,553,332],{"class":331},[304,555,341],{"class":316},[304,557,321],{"class":320},[304,559,346],{"class":316},[304,561,563,566,568],{"class":306,"line":562},12,[304,564,565],{"class":316},"\u003C\u002F",[304,567,418],{"class":320},[304,569,346],{"class":316},[224,571,573],{"id":572},"packagejson-での管理推奨","package.json での管理（推奨）",[294,575,579],{"className":576,"code":577,"language":578,"meta":299,"style":299},"language-json shiki shiki-themes github-light material-theme material-theme-palenight","{\n  \"name\": \"project-name\",\n  \"version\": \"1.0.0\",\n  \"dependencies\": {\n    \"swiper\": \"^8.4.5\",\n    \"@splidejs\u002Fsplide\": \"^4.1.4\",\n    \"gsap\": \"^3.12.2\"\n  },\n  \"devDependencies\": {\n    \"webpack\": \"^5.74.0\",\n    \"babel-core\": \"^6.26.3\",\n    \"copy-webpack-plugin\": \"^11.0.0\"\n  }\n}\n","json",[301,580,581,586,612,632,646,668,688,707,712,725,745,765,783,789],{"__ignoreMap":299},[304,582,583],{"class":306,"line":12},[304,584,585],{"class":316},"{\n",[304,587,588,592,596,598,601,604,607,609],{"class":306,"line":313},[304,589,591],{"class":590},"s56lG","  \"",[304,593,595],{"class":594},"sxNWx","name",[304,597,332],{"class":590},[304,599,600],{"class":316},":",[304,602,603],{"class":331}," \"",[304,605,606],{"class":335},"project-name",[304,608,332],{"class":331},[304,610,611],{"class":316},",\n",[304,613,614,616,619,621,623,625,628,630],{"class":306,"line":158},[304,615,591],{"class":590},[304,617,618],{"class":594},"version",[304,620,332],{"class":590},[304,622,600],{"class":316},[304,624,603],{"class":331},[304,626,627],{"class":335},"1.0.0",[304,629,332],{"class":331},[304,631,611],{"class":316},[304,633,634,636,639,641,643],{"class":306,"line":189},[304,635,591],{"class":590},[304,637,638],{"class":594},"dependencies",[304,640,332],{"class":590},[304,642,600],{"class":316},[304,644,645],{"class":316}," {\n",[304,647,648,651,655,657,659,661,664,666],{"class":306,"line":360},[304,649,650],{"class":590},"    \"",[304,652,654],{"class":653},"s7zXe","swiper",[304,656,332],{"class":590},[304,658,600],{"class":316},[304,660,603],{"class":331},[304,662,663],{"class":335},"^8.4.5",[304,665,332],{"class":331},[304,667,611],{"class":316},[304,669,670,672,675,677,679,681,684,686],{"class":306,"line":458},[304,671,650],{"class":590},[304,673,674],{"class":653},"@splidejs\u002Fsplide",[304,676,332],{"class":590},[304,678,600],{"class":316},[304,680,603],{"class":331},[304,682,683],{"class":335},"^4.1.4",[304,685,332],{"class":331},[304,687,611],{"class":316},[304,689,690,692,695,697,699,701,704],{"class":306,"line":464},[304,691,650],{"class":590},[304,693,694],{"class":653},"gsap",[304,696,332],{"class":590},[304,698,600],{"class":316},[304,700,603],{"class":331},[304,702,703],{"class":335},"^3.12.2",[304,705,706],{"class":331},"\"\n",[304,708,709],{"class":306,"line":499},[304,710,711],{"class":316},"  },\n",[304,713,714,716,719,721,723],{"class":306,"line":525},[304,715,591],{"class":590},[304,717,718],{"class":594},"devDependencies",[304,720,332],{"class":590},[304,722,600],{"class":316},[304,724,645],{"class":316},[304,726,727,729,732,734,736,738,741,743],{"class":306,"line":530},[304,728,650],{"class":590},[304,730,731],{"class":653},"webpack",[304,733,332],{"class":590},[304,735,600],{"class":316},[304,737,603],{"class":331},[304,739,740],{"class":335},"^5.74.0",[304,742,332],{"class":331},[304,744,611],{"class":316},[304,746,747,749,752,754,756,758,761,763],{"class":306,"line":536},[304,748,650],{"class":590},[304,750,751],{"class":653},"babel-core",[304,753,332],{"class":590},[304,755,600],{"class":316},[304,757,603],{"class":331},[304,759,760],{"class":335},"^6.26.3",[304,762,332],{"class":331},[304,764,611],{"class":316},[304,766,767,769,772,774,776,778,781],{"class":306,"line":562},[304,768,650],{"class":590},[304,770,771],{"class":653},"copy-webpack-plugin",[304,773,332],{"class":590},[304,775,600],{"class":316},[304,777,603],{"class":331},[304,779,780],{"class":335},"^11.0.0",[304,782,706],{"class":331},[304,784,786],{"class":306,"line":785},13,[304,787,788],{"class":316},"  }\n",[304,790,792],{"class":306,"line":791},14,[304,793,794],{"class":316},"}\n",[224,796,798],{"id":797},"npm-スクリプトでの自動化","npm スクリプトでの自動化",[294,800,802],{"className":576,"code":801,"language":578,"meta":299,"style":299},"{\n  \"scripts\": {\n    \"install-vendor\": \"npm run copy-jquery && npm run copy-swiper\",\n    \"copy-jquery\": \"cp node_modules\u002Fjquery\u002Fdist\u002Fjquery.min.js assets\u002Fvendor\u002Fjquery\u002F\",\n    \"copy-swiper\": \"cp -r node_modules\u002Fswiper\u002Fswiper-bundle.* assets\u002Fvendor\u002Fswiper\u002F\",\n    \"build\": \"webpack --mode production\",\n    \"dev\": \"webpack serve --mode development\"\n  }\n}\n",[301,803,804,808,821,841,861,881,901,919,923],{"__ignoreMap":299},[304,805,806],{"class":306,"line":12},[304,807,585],{"class":316},[304,809,810,812,815,817,819],{"class":306,"line":313},[304,811,591],{"class":590},[304,813,814],{"class":594},"scripts",[304,816,332],{"class":590},[304,818,600],{"class":316},[304,820,645],{"class":316},[304,822,823,825,828,830,832,834,837,839],{"class":306,"line":158},[304,824,650],{"class":590},[304,826,827],{"class":653},"install-vendor",[304,829,332],{"class":590},[304,831,600],{"class":316},[304,833,603],{"class":331},[304,835,836],{"class":335},"npm run copy-jquery && npm run copy-swiper",[304,838,332],{"class":331},[304,840,611],{"class":316},[304,842,843,845,848,850,852,854,857,859],{"class":306,"line":189},[304,844,650],{"class":590},[304,846,847],{"class":653},"copy-jquery",[304,849,332],{"class":590},[304,851,600],{"class":316},[304,853,603],{"class":331},[304,855,856],{"class":335},"cp node_modules\u002Fjquery\u002Fdist\u002Fjquery.min.js assets\u002Fvendor\u002Fjquery\u002F",[304,858,332],{"class":331},[304,860,611],{"class":316},[304,862,863,865,868,870,872,874,877,879],{"class":306,"line":360},[304,864,650],{"class":590},[304,866,867],{"class":653},"copy-swiper",[304,869,332],{"class":590},[304,871,600],{"class":316},[304,873,603],{"class":331},[304,875,876],{"class":335},"cp -r node_modules\u002Fswiper\u002Fswiper-bundle.* assets\u002Fvendor\u002Fswiper\u002F",[304,878,332],{"class":331},[304,880,611],{"class":316},[304,882,883,885,888,890,892,894,897,899],{"class":306,"line":458},[304,884,650],{"class":590},[304,886,887],{"class":653},"build",[304,889,332],{"class":590},[304,891,600],{"class":316},[304,893,603],{"class":331},[304,895,896],{"class":335},"webpack --mode production",[304,898,332],{"class":331},[304,900,611],{"class":316},[304,902,903,905,908,910,912,914,917],{"class":306,"line":464},[304,904,650],{"class":590},[304,906,907],{"class":653},"dev",[304,909,332],{"class":590},[304,911,600],{"class":316},[304,913,603],{"class":331},[304,915,916],{"class":335},"webpack serve --mode development",[304,918,706],{"class":331},[304,920,921],{"class":306,"line":499},[304,922,788],{"class":316},[304,924,925],{"class":306,"line":525},[304,926,794],{"class":316},[928,929,930],"style",{},"html pre.shiki code .su8Ar, html code.shiki .su8Ar{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sN50r, html code.shiki .sN50r{--shiki-light:#24292E;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sF3G6, html code.shiki .sF3G6{--shiki-light:#22863A;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sAjK8, html code.shiki .sAjK8{--shiki-light:#6F42C1;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .ssQ5U, html code.shiki .ssQ5U{--shiki-light:#032F62;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .scigg, html code.shiki .scigg{--shiki-light:#032F62;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s56lG, html code.shiki .s56lG{--shiki-light:#005CC5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sxNWx, html code.shiki .sxNWx{--shiki-light:#005CC5;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s7zXe, html code.shiki .s7zXe{--shiki-light:#005CC5;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":299,"searchDepth":313,"depth":313,"links":932},[933,938,939,943],{"id":210,"depth":313,"text":210,"children":934},[935,936,937],{"id":226,"depth":158,"text":227},{"id":246,"depth":158,"text":246},{"id":257,"depth":158,"text":258},{"id":221,"depth":313,"text":221},{"id":277,"depth":313,"text":277,"children":940},[941,942],{"id":280,"depth":158,"text":280},{"id":387,"depth":158,"text":387},{"id":398,"depth":313,"text":398,"children":944},[945,946,947],{"id":401,"depth":158,"text":401},{"id":572,"depth":158,"text":573},{"id":797,"depth":158,"text":798},"外部ライブラリの選定基準、推奨ライブラリ、管理ルール","md",null,{"outline":952},"deep",{"title":90,"description":948},"3bxQf6ZX3iN_wLrtDUXtNpSZRxCXG2aljTyZH5u2_w4",[956,958],{"title":86,"path":87,"stem":88,"description":957,"children":-1},"try-catchと非同期処理のエラーハンドリングパターン",{"title":94,"path":95,"stem":96,"description":959,"children":-1},"type=\"module\"とdefer属性によるスクリプト読み込みのベストプラクティス",1780099579115]