両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
javascript:chartjs [2024/08/25 17:40] – [ビルド方法] ともやん | javascript:chartjs [2024/08/27 13:46] (現在) – [サンプルアプリケーションをビルドする] ともやん |
---|
==== サンプルアプリケーションをビルドする ==== | ==== サンプルアプリケーションをビルドする ==== |
公式: [[https://www.chartjs.org/docs/master/getting-started/usage.html|Step-by-step guide | Chart.js]]\\ | 公式: [[https://www.chartjs.org/docs/master/getting-started/usage.html|Step-by-step guide | Chart.js]]\\ |
| \\ |
| 新しいプロジェクトディレクトリに、以下の内容の package.json を作成する...🤔\\ |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<font color="#0087FF"><b>$</b></font> <font color="#26A269">nano</font> <font color="#999999">package.json</font> | <font color="#0087FF"><b>$</b></font> <font color="#26A269">nano</font> <font color="#999999">package.json</font> |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP color_mincode><code javascript> | <WRAP color_mincode><html><pre class=bat><font color="#F8F8F2">{</font> |
{ | <font color="#F8F8F2"> </font><font color="#FD971F">"name"</font><font color="#F8F8F2">: </font><font color="#E6DB74">"chartjs-example"</font><font color="#F8F8F2">,</font> |
"name": "chartjs-example", | <font color="#F8F8F2"> </font><font color="#FD971F">"version"</font><font color="#F8F8F2">: </font><font color="#E6DB74">"1.0.0"</font><font color="#F8F8F2">,</font> |
"version": "1.0.0", | <font color="#F8F8F2"> </font><font color="#FD971F">"license"</font><font color="#F8F8F2">: </font><font color="#E6DB74">"MIT"</font><font color="#F8F8F2">,</font> |
"license": "MIT", | <font color="#F8F8F2"> </font><font color="#FD971F">"scripts"</font><font color="#F8F8F2">: {</font> |
"scripts": { | <font color="#F8F8F2"> </font><font color="#FD971F">"dev"</font><font color="#F8F8F2">: </font><font color="#E6DB74">"parcel src/index.html"</font><font color="#F8F8F2">,</font> |
"dev": "parcel src/index.html", | <font color="#F8F8F2"> </font><font color="#FD971F">"build"</font><font color="#F8F8F2">: </font><font color="#E6DB74">"parcel build src/index.html"</font> |
"build": "parcel build src/index.html" | <font color="#F8F8F2"> },</font> |
}, | <font color="#F8F8F2"> </font><font color="#FD971F">"devDependencies"</font><font color="#F8F8F2">: {</font> |
"devDependencies": { | <font color="#F8F8F2"> </font><font color="#FD971F">"parcel"</font><font color="#F8F8F2">: </font><font color="#E6DB74">"^2.6.2"</font> |
"parcel": "^2.6.2" | <font color="#F8F8F2"> },</font> |
}, | <font color="#F8F8F2"> </font><font color="#FD971F">"dependencies"</font><font color="#F8F8F2">: {</font> |
"dependencies": { | <font color="#F8F8F2"> </font><font color="#FD971F">"@cubejs-client/core"</font><font color="#F8F8F2">: </font><font color="#E6DB74">"^0.31.0"</font><font color="#F8F8F2">,</font> |
"@cubejs-client/core": "^0.31.0", | <font color="#F8F8F2"> </font><font color="#FD971F">"chart.js"</font><font color="#F8F8F2">: </font><font color="#E6DB74">"^4.0.0"</font> |
"chart.js": "^4.0.0" | <font color="#F8F8F2"> }</font> |
} | <font color="#F8F8F2">}</font> |
} | </pre></html></WRAP> |
</code></WRAP> | |
</WRAP> | </WRAP> |
| |
| <html><code>pnpm install</code></html> を実行して依存関係をインストールする...🤔\\ |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
</WRAP> | </WRAP> |
| |
===== ビルド方法 ===== | <html><code>src</code></html> ディレクトリを作成して、以下の内容で <html><code>src/index.html</code></html>、<html><code>src/acquisitions.js</code></html> を作成する...🤔\\ |
[[linux:anyenv#node のインストール|node のインストール - anyenv - rbenv スタイルのオールインワン環境マネージャー]]\\ | |
| |
**Chart.js のソースコードをクローンする...🤔**\\ | |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<font color="#0087FF"><b>$</b></font> <font color="#26A269">git</font> clone <font color="#A347BA">--depth</font> 1 https://github.com/chartjs/Chart.js.git | <font color="#0087FF"><b>$</b></font> <font color="#26A269">mkdir</font> src |
| <font color="#0087FF"><b>$</b></font> <font color="#26A269">nano</font> <u style="text-decoration-style:solid">src/index.html</u> |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP color_result><html><pre> | <WRAP color_mincode><html><pre class=bat> |
Cloning into 'Chart.js'... | <font color="#F8F8F2"><!doctype html></font> |
remote: Enumerating objects: 1890, done. | <font color="#FFFFFF"><</font><font color="#F92672">html</font><font color="#A6E22E"> lang=</font><font color="#FFFFFF">"</font><font color="#E6DB74">en</font><font color="#FFFFFF">"></font> |
remote: Counting objects: 100% (1890/1890), done. | <font color="#F8F8F2"> </font><font color="#FFFFFF"><</font><font color="#F92672">head</font><font color="#FFFFFF">></font> |
remote: Compressing objects: 100% (1501/1501), done. | <font color="#F8F8F2"> </font><font color="#FFFFFF"><</font><font color="#F92672">title</font><font color="#FFFFFF">></font><font color="#F8F8F2">Chart.js example</font><font color="#FFFFFF"></</font><font color="#F92672">title</font><font color="#FFFFFF">></font> |
remote: Total 1890 (delta 506), reused 1350 (delta 373), pack-reused 0 (from 0) | <font color="#F8F8F2"> </font><font color="#FFFFFF"></</font><font color="#F92672">head</font><font color="#FFFFFF">></font> |
Receiving objects: 100% (1890/1890), 11.70 MiB | 10.65 MiB/s, done. | <font color="#F8F8F2"> </font><font color="#FFFFFF"><</font><font color="#F92672">body</font><font color="#FFFFFF">></font> |
Resolving deltas: 100% (506/506), done. | <font color="#F8F8F2"> </font><font color="#7C7865"><!-- <div style="width: 500px;"><canvas id="dimensions"></canvas></div><br/> --></font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF"><</font><font color="#F92672">div</font><font color="#A6E22E"> style=</font><font color="#FFFFFF">"</font><font color="#66D9EF">width</font><font color="#FFFFFF">:</font><font color="#A6E22E"> </font><font color="#BE84FF">800</font><font color="#F92672">px</font><font color="#FFFFFF">;"><</font><font color="#F92672">canvas</font><font color="#A6E22E"> id=</font><font color="#FFFFFF">"</font><font color="#E6DB74">acquisitions</font><font color="#FFFFFF">"></</font><font color="#F92672">canvas</font><font color="#FFFFFF">></</font><font color="#F92672">div</font><font color="#FFFFFF">></font> |
| |
| <font color="#F8F8F2"> </font><font color="#7C7865"><!-- <script type="module" src="dimensions.js"></script> --></font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF"><</font><font color="#F92672">script</font><font color="#F8F8F2"> </font><font color="#A6E22E">type=</font><font color="#FFFFFF">"</font><font color="#E6DB74">module</font><font color="#FFFFFF">"</font><font color="#F8F8F2"> </font><font color="#A6E22E">src=</font><font color="#FFFFFF">"</font><font color="#E6DB74">acquisitions.js</font><font color="#FFFFFF">"></</font><font color="#F92672">script</font><font color="#FFFFFF">></font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF"></</font><font color="#F92672">body</font><font color="#FFFFFF">></font> |
| <font color="#FFFFFF"></</font><font color="#F92672">html</font><font color="#FFFFFF">></font> |
| </pre></html></WRAP> |
| <WRAP color_command><html><pre> |
| <font color="#0087FF"><b>$</b></font> <font color="#26A269">nano</font> <u style="text-decoration-style:solid">src/acquisitions.js</u> |
| </pre></html></WRAP> |
| <WRAP color_mincode><html><pre class=bat> |
| <font color="#F92672">import</font><font color="#F8F8F2"> </font><font color="#FFFFFF">Chart</font><font color="#F8F8F2"> </font><font color="#F92672">from</font><font color="#F8F8F2"> </font><font color="#E6DB74">'chart.js/auto'</font> |
| |
| <font color="#FFFFFF">(</font><font color="#66D9EF">async</font><font color="#A6E22E"> </font><font color="#66D9EF">function</font><font color="#FFFFFF">()</font><font color="#F8F8F2"> {</font> |
| <font color="#F8F8F2"> </font><font color="#66D9EF">const</font><font color="#F8F8F2"> </font><font color="#FFFFFF">data</font><font color="#F8F8F2"> </font><font color="#F92672">=</font><font color="#F8F8F2"> [</font> |
| <font color="#F8F8F2"> { </font><font color="#FFFFFF">year:</font><font color="#F8F8F2"> </font><font color="#AE81FF">2010</font><font color="#F8F8F2">, </font><font color="#FFFFFF">count:</font><font color="#F8F8F2"> </font><font color="#AE81FF">10</font><font color="#F8F8F2"> },</font> |
| <font color="#F8F8F2"> { </font><font color="#FFFFFF">year:</font><font color="#F8F8F2"> </font><font color="#AE81FF">2011</font><font color="#F8F8F2">, </font><font color="#FFFFFF">count:</font><font color="#F8F8F2"> </font><font color="#AE81FF">20</font><font color="#F8F8F2"> },</font> |
| <font color="#F8F8F2"> { </font><font color="#FFFFFF">year:</font><font color="#F8F8F2"> </font><font color="#AE81FF">2012</font><font color="#F8F8F2">, </font><font color="#FFFFFF">count:</font><font color="#F8F8F2"> </font><font color="#AE81FF">15</font><font color="#F8F8F2"> },</font> |
| <font color="#F8F8F2"> { </font><font color="#FFFFFF">year:</font><font color="#F8F8F2"> </font><font color="#AE81FF">2013</font><font color="#F8F8F2">, </font><font color="#FFFFFF">count:</font><font color="#F8F8F2"> </font><font color="#AE81FF">25</font><font color="#F8F8F2"> },</font> |
| <font color="#F8F8F2"> { </font><font color="#FFFFFF">year:</font><font color="#F8F8F2"> </font><font color="#AE81FF">2014</font><font color="#F8F8F2">, </font><font color="#FFFFFF">count:</font><font color="#F8F8F2"> </font><font color="#AE81FF">22</font><font color="#F8F8F2"> },</font> |
| <font color="#F8F8F2"> { </font><font color="#FFFFFF">year:</font><font color="#F8F8F2"> </font><font color="#AE81FF">2015</font><font color="#F8F8F2">, </font><font color="#FFFFFF">count:</font><font color="#F8F8F2"> </font><font color="#AE81FF">30</font><font color="#F8F8F2"> },</font> |
| <font color="#F8F8F2"> { </font><font color="#FFFFFF">year:</font><font color="#F8F8F2"> </font><font color="#AE81FF">2016</font><font color="#F8F8F2">, </font><font color="#FFFFFF">count:</font><font color="#F8F8F2"> </font><font color="#AE81FF">28</font><font color="#F8F8F2"> },</font> |
| <font color="#F8F8F2"> ];</font> |
| |
| <font color="#F8F8F2"> </font><font color="#F92672">new</font><font color="#F8F8F2"> Chart</font><font color="#FFFFFF">(</font> |
| <font color="#F8F8F2"> </font><font color="#A6E22E">document</font><font color="#FFFFFF">.</font><font color="#F8F8F2">getElementById</font><font color="#FFFFFF">(</font><font color="#E6DB74">'acquisitions'</font><font color="#FFFFFF">)</font><font color="#F8F8F2">,</font> |
| <font color="#F8F8F2"> {</font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF">type:</font><font color="#F8F8F2"> </font><font color="#E6DB74">'bar'</font><font color="#F8F8F2">,</font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF">data:</font><font color="#F8F8F2"> {</font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF">labels:</font><font color="#F8F8F2"> </font><font color="#FFFFFF">data.</font><font color="#F8F8F2">map</font><font color="#FFFFFF">(</font><font color="#FD971F">row</font><font color="#F8F8F2"> </font><font color="#66D9EF">=></font><font color="#F8F8F2"> </font><font color="#FFFFFF">row.year)</font><font color="#F8F8F2">,</font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF">datasets:</font><font color="#F8F8F2"> [</font> |
| <font color="#F8F8F2"> {</font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF">label:</font><font color="#F8F8F2"> </font><font color="#E6DB74">'Acquisitions by year'</font><font color="#F8F8F2">,</font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF">data:</font><font color="#F8F8F2"> </font><font color="#FFFFFF">data.</font><font color="#F8F8F2">map</font><font color="#FFFFFF">(</font><font color="#FD971F">row</font><font color="#F8F8F2"> </font><font color="#66D9EF">=></font><font color="#F8F8F2"> </font><font color="#FFFFFF">row.count)</font> |
| <font color="#F8F8F2"> }</font> |
| <font color="#F8F8F2"> ]</font> |
| <font color="#F8F8F2"> }</font> |
| <font color="#F8F8F2"> }</font> |
| <font color="#F8F8F2"> </font><font color="#FFFFFF">)</font><font color="#F8F8F2">;</font> |
| <font color="#F8F8F2">}</font><font color="#FFFFFF">)()</font><font color="#F8F8F2">;</font> |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |
| |
**Performant NPM をグローバル インストールする...🤔**\\ | <html><code>pnpm dev</code></html> を実行して <html><code>http://localhost:1234/</code></html> にアクセスする😉\\ |
<WRAP color_term> | <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<font color="#0087FF"><b>$</b></font> <font color="#26A269">npm</font> install <font color="#A347BA">-g</font> pnpm | <font color="#0087FF"><b>$</b></font> <font color="#26A269">pnpm</font><font color="#999999"> dev</font> |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP color_result><html><pre> | <WRAP color_result><html><pre> |
| |
changed 1 package in 1s | > chartjs-example@1.0.0 dev /home/tomoyan/my_projects/chartjs-example |
| > parcel src/index.html |
| |
1 package is looking for funding | <font color="#12488B"><b>Server running at http://localhost:1234</b></font> |
run `npm fund` for details | ✨ <font color="#26A269"><b>Built in 22ms</b></font> |
</pre></html></WRAP> | </pre></html></WRAP> |
| </WRAP> |
| [[http://localhost:1234/|]]\\ |
| <WRAP zoomimg w500 x1_3> |
| {{:javascript:chartjs-example_001.png|Chart.js example}} |
| </WRAP> |
| |
| ===== ビルド方法 ===== |
| [[#pnpm_のインストール|pnpm のインストール]]\\ |
| |
| **Chart.js のソースコードをクローンする...🤔**\\ |
| <WRAP color_term> |
<WRAP color_command><html><pre> | <WRAP color_command><html><pre> |
<font color="#0087FF"><b>$</b></font> <font color="#26A269">pnpm</font> <font color="#A347BA">-v</font> | <font color="#0087FF"><b>$</b></font> <font color="#26A269">git</font> clone <font color="#A347BA">--depth</font> 1 https://github.com/chartjs/Chart.js.git |
</pre></html></WRAP> | </pre></html></WRAP> |
<WRAP color_result><html><pre> | <WRAP color_result><html><pre> |
9.8.0 | Cloning into 'Chart.js'... |
| remote: Enumerating objects: 1890, done. |
| remote: Counting objects: 100% (1890/1890), done. |
| remote: Compressing objects: 100% (1501/1501), done. |
| remote: Total 1890 (delta 506), reused 1350 (delta 373), pack-reused 0 (from 0) |
| Receiving objects: 100% (1890/1890), 11.70 MiB | 10.65 MiB/s, done. |
| Resolving deltas: 100% (506/506), done. |
</pre></html></WRAP> | </pre></html></WRAP> |
</WRAP> | </WRAP> |