<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaScript | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<atom:link href="https://laboratory.kazuuu.net/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>https://laboratory.kazuuu.net</link>
	<description></description>
	<lastBuildDate>Mon, 21 Nov 2022 20:39:09 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://laboratory.kazuuu.net/wp-content/uploads/2021/02/cropped-L-32x32.png</url>
	<title>JavaScript | Men of Letters（メン・オブ・レターズ） &#8211; 論理的思考/業務改善/プログラミング</title>
	<link>https://laboratory.kazuuu.net</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>【JavaScript】table()関数を用いてテーブルをコンソールに書き込み</title>
		<link>https://laboratory.kazuuu.net/javascript-writes-a-table-to-the-console-using-the-table-function/</link>
					<comments>https://laboratory.kazuuu.net/javascript-writes-a-table-to-the-console-using-the-table-function/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Mon, 21 Nov 2022 20:39:09 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=12650</guid>

					<description><![CDATA[【JavaScript】table()関数を用いてテーブルをコンソールに書き込みしてみます。 table()関数を用いると、テーブルをコンソールに書き込むことができますので、JavaScriptで複雑な配列やオブジェクト [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>【JavaScript】table()関数を用いてテーブルをコンソールに書き込みしてみます。</p>
<p>table()関数を用いると、テーブルをコンソールに書き込むことができますので、JavaScriptで複雑な配列やオブジェクトを視覚化する際に重宝します。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■構文,パラメーター</a></li><li><a href="#toc2" tabindex="0">■環境</a></li><li><a href="#toc3" tabindex="0">■table()関数を用いてテーブルをコンソールに書き込む</a><ol><li><a href="#toc4" tabindex="0">■コード</a></li></ol></li><li><a href="#toc5" tabindex="0">■実行・検証</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■構文,パラメーター</span></h2>
<pre>console.table(tabledata, tablecolumns)</pre>
<p>tabledataは、テーブルに入力するデータを渡します。これは必ず必要となる。</p>
<p>tablecolumnsは、テーブル列の名前を持つ配列を渡します。これはオプションとなる。</p>
<h2><span id="toc2">■環境</span></h2>
<p>Windows10（Google chrome）</p>
<p>Javascript Playground: PLAYCODE（<a href="https://playcode.io/">https://playcode.io/</a>）</p>
<h2><span id="toc3">■table()関数を用いてテーブルをコンソールに書き込む</span></h2>
<p>では、早速table()関数を用いてテーブルをコンソールに書き込んでみます。</p>
<h3><span id="toc4">■コード</span></h3>
<pre>var test = [["田中"], ["吉田"], ["佐々木"]];

console.table(test)</pre>
<p>今回はvarを用いてtestという変数を用います。変数内には、角括弧&#8221;[ ]&#8221;を用いて、今回は3つの日本語の文字列を格納します。この際に、各文字列の格納も角括弧&#8221;[ ]&#8221;を用います。</p>
<p>格納後、consoleに対してtable()関数を用います。これでコンソールに書き込みを行います。書き込みを行うので、括弧内にtest変数を渡します。</p>
<h2><span id="toc5">■実行・検証</span></h2>
<p>このスクリプトを保存し実行してみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122306-1.png"><img decoding="async" class="alignnone size-medium wp-image-12651" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122306-1-300x162.png" alt="" width="300" height="162" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122306-1-300x162.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122306-1-1024x551.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122306-1-768x413.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122306-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行してみると、test変数内の情報がコンソールに書き込まれ表示させることができました。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122517-1.png"><img fetchpriority="high" decoding="async" class="alignnone size-medium wp-image-12652" src="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122517-1-300x182.png" alt="" width="300" height="182" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122517-1-300x182.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122517-1-1024x622.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122517-1-768x467.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2022/06/スクリーンショット-2022-06-21-122517-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>なお、変数を定義し、文字列を格納する際に、各文字列を角括弧&#8221;[ ]&#8221;を用いて格納しないと、コンソール上で表形式で出力させる際に、1文字ずつ出力となる。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/javascript-writes-a-table-to-the-console-using-the-table-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Webページに3Dコンテンツを表示するJavaScriptライブラリ「Three.JS」を使用する</title>
		<link>https://laboratory.kazuuu.net/using-three-js-a-javascript-library-for-displaying-3d-content-on-web-pages/</link>
					<comments>https://laboratory.kazuuu.net/using-three-js-a-javascript-library-for-displaying-3d-content-on-web-pages/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Tue, 01 Feb 2022 21:01:12 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=11316</guid>

					<description><![CDATA[Webページに3Dコンテンツを表示するJavaScriptライブラリ「Three.JS」を使用してみます。 目次 ■CDNからthree.jsをロードする■コード■コード■検証・実行 ■CDNからthree.jsをロード [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Webページに3Dコンテンツを表示するJavaScriptライブラリ「Three.JS」を使用してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■CDNからthree.jsをロードする</a><ol><li><a href="#toc2" tabindex="0">■コード</a></li><li><a href="#toc3" tabindex="0">■コード</a></li><li><a href="#toc4" tabindex="0">■検証・実行</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■CDNからthree.jsをロードする</span></h2>
<p>Three.JSを使用するために、今回はCDNからthree.jsをロードし使用してみます。</p>
<h3><span id="toc2">■コード</span></h3>
<pre><code>&lt;script type="module"&gt;
    import * as THREE from 'https://cdn.skypack.dev/three';
&lt;/script&gt;</code></pre>
<p>今回は、インストールやビルドツールなしで最適化されたnpmパッケージをロードでき、個人・商用を問わず永久無料で利用できるSKYPACK（<a href="https://www.skypack.dev/">https://www.skypack.dev/</a>）を使用します。</p>
<h3><span id="toc3">■コード</span></h3>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html lang="ja"&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
    &lt;meta name="viewport" content="width=device-width,initial-scale=1.0"&gt;
    &lt;title&gt;Three.JSのテスト&lt;/title&gt;
    &lt;!--背景--&gt;
    &lt;style&gt;
        body{
            background: #000;
            padding: 0px;
            margin: 0px;
        }
    &lt;/style&gt;
&lt;body&gt;

    &lt;script type="module"&gt;
        import * as THREE from 'https://cdn.skypack.dev/three';
        //シーン
        const scene = new THREE.Scene();
        //カメラ
        const camera = new THREE.PerspectiveCamera(75,window.innerWidth / window.innerHeight,0.1,1000);
        //Renderer
        const renderer = new THREE.WebGLRenderer();
        //直方体のジオメトリクラス
        const geometry = new THREE.BoxGeometry();
        //ジオメトリを描画するためのマテリアル
        const material = new THREE.MeshBasicMaterial( { color: 0xFF0000 } );
        //メッシュの作成
        const cube = new THREE.Mesh( geometry, material );

        //シーンにキューブを追加
        scene.add(cube);
        renderer.setSize(window.innerWidth,window.innerHeight);
        camera.position.z = 5;
        document.body.appendChild(renderer.domElement);
        //アニメーション
        function animate(){
            requestAnimationFrame(animate);
            renderer.render(scene,camera);
        }
        animate();

        setInterval(function(){
            cube.rotation.x += 0.01;
            cube.rotation.y += 0.01;
        },5);
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>three.jsを介してオブジェクトを表示するには、scene、camera、およびcameraを介してcameraをレンダリングするrendererの3つが必要となりますので、これらを作成します。</p>
<p>そのほかにもメッシュの作成などを行い、今回はcube（3Dコンテンツ）を表示させてみます。</p>
<p>cube（3Dコンテンツ）を表示させ、アニメーションを追加します。追加したものをWebページで表示させます。</p>
<h3><span id="toc4">■検証・実行</span></h3>
<p>今回のコードを「index.html」という名前で保存し、Visual Studio Code（VSCode）の拡張機能で、簡易的なローカルサーバーを起動することができる「Live Server」を使用し、Webページを表示させてみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/12/スクリーンショット-2021-12-22-142007-1.png"><img decoding="async" class="alignnone size-medium wp-image-11318" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/12/スクリーンショット-2021-12-22-142007-1-300x162.png" alt="" width="300" height="162" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/12/スクリーンショット-2021-12-22-142007-1-300x162.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/12/スクリーンショット-2021-12-22-142007-1-1024x553.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/12/スクリーンショット-2021-12-22-142007-1-768x415.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/12/スクリーンショット-2021-12-22-142007-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>「Live Server」を起動しWebページを表示させてみると、今回作成したcube（3Dコンテンツ）を表示させることができました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/using-three-js-a-javascript-library-for-displaying-3d-content-on-web-pages/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Webブラウザ上でface-api.js/JavaScriptによる簡単な顔認識</title>
		<link>https://laboratory.kazuuu.net/simple-face-recognition-with-face-api-js-javascript-in-a-web-browser/</link>
					<comments>https://laboratory.kazuuu.net/simple-face-recognition-with-face-api-js-javascript-in-a-web-browser/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Tue, 15 Jun 2021 05:54:24 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[IoT開発]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=9135</guid>

					<description><![CDATA[Webブラウザ上でface-api.js/JavaScriptによる簡単な顔認識を行ってみます。 今回は、Tensor Flow上に構築されたface-api.js（https://github.com/justadud [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Webブラウザ上でface-api.js/JavaScriptによる簡単な顔認識を行ってみます。</p>
<p>今回は、Tensor Flow上に構築されたface-api.js（<a href="https://github.com/justadudewhohacks/face-api.js">https://github.com/justadudewhohacks/face-api.js</a>）ライブラリを使用して、顔認識を簡単に行ってみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■リポジトリのクローンを作成する</a></li><li><a href="#toc3" tabindex="0">■Webアプリの準備</a></li><li><a href="#toc4" tabindex="0">■顔認識をテストする簡単なWebアプリの作成</a><ol><li><a href="#toc5" tabindex="0">■index.html</a></li><li><a href="#toc6" tabindex="0">■script.js</a></li><li><a href="#toc7" tabindex="0">■実行、デバッグ</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10 Pro</p>
<p>・Visual Studio Code 1.57.0</p>
<p>・git version 2.31.1.windows.1</p>
<h2><span id="toc2">■リポジトリのクローンを作成する</span></h2>
<p>まずは、リポジトリのクローンを作成します。作成しますので、Windows10のコマンドプロンプトを起動します。</p>
<pre>C:\Users\&lt;ユーザー名&gt;&gt;git clone https://github.com/justadudewhohacks/face-api.js.git</pre>
<p>起動後、上記のコマンドを入力し、Enterキーを押します。</p>
<blockquote><p>Cloning into &#8216;face-api.js&#8217;&#8230;<br />
remote: Enumerat ing objects: 9124, done<br />
remote: Counting objects: 100% (11/11), done.<br />
remote: Compressing objects: 100% (11/11), done.<br />
remote: Total 9124 (delta 6), reused o (delta 0), pack-reused 9113<br />
Receiving objects: 100% (9124/9124), 210.79 MiB | 4.13 MiB/s, done.<br />
Resolving deltas: 100% (6281/6281), done.</p></blockquote>
<p>Enterキーを押すと、クローンの作成が開始されます。しばらくすると、完了します。</p>
<h2><span id="toc3">■Webアプリの準備</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9136" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1-300x133.png" alt="" width="300" height="133" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1-300x133.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1-1024x455.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1-768x341.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141020-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>完了後、カレントディレクトリ（作業ディレクトリ）内に「face-api.js」というフォルダが作成されていることが確認できます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9137" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1-300x190.png" alt="" width="300" height="190" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1-300x190.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1-1024x647.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1-768x485.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141402-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>フォルダの中身を確認すると、上記のようになっています。フォルダ内に「dist」と「weights」のフォルダがありますが、今回は「dist」の「face-api.js」と、「weights」内のファイル全てを使います。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141736.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9138" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141736-300x159.png" alt="" width="300" height="159" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141736-300x159.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-141736.png 714w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>確認後、カレントディレクトリ（作業ディレクトリ）内に、今回は「test_face_api」というフォルダを作成します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9139" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1-300x178.png" alt="" width="300" height="178" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1-300x178.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1-1024x606.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1-768x454.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142006-1.png 1249w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>作成後、「face-api.js」というフォルダ内の「weights」のフォルダをコピーします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9140" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1-300x148.png" alt="" width="300" height="148" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1-300x148.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1-1024x504.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1-768x378.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142211-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>コピー後、「test_face_api」というフォルダ内に「weights」のフォルダを貼り付けます。その後「weights」の名前を「models」という名前に変更します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9143" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1-300x189.png" alt="" width="300" height="189" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1-300x189.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1-1024x646.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1-768x484.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142810-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>変更後、「face-api.js」フォルダ内の「dist」の「face-api.min.js」をコピーします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9144" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1-300x131.png" alt="" width="300" height="131" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1-300x131.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1-1024x446.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1-768x335.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-142940-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>コピー後、「test_face_api」というフォルダ内に「face-api.js」のフォルダを貼り付けます。</p>
<h2><span id="toc4">■顔認識をテストする簡単なWebアプリの作成</span></h2>
<p>貼り付け後、顔認識をテストする簡単なWebアプリの作成を行います。コードエディタ（Visual Studio Code）を開きます。「test_face_api」フォルダ内にindex.htmlを作成します。</p>
<h3><span id="toc5">■index.html</span></h3>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html lang = "ja"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width,initial-scale=1.0"&gt;
    &lt;title&gt;顔認識のテスト&lt;/title&gt;
    &lt;script defer src="face-api.min.js"&gt;&lt;/script&gt;
    &lt;script defer src="script.js"&gt;&lt;/script&gt;
    &lt;style&gt;
        body{
            margin: 0;
            padding: 0;
            width: 100vw;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }
        canvas{
            position: absolute;
            top:0;
            left: 0;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;input type="file" id="imageUpload"&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>アップロードした画像で顔認識のテストを行えるようにします。次に「test_face_api」フォルダ内にscript.jsを作成します。</p>
<h3><span id="toc6">■script.js</span></h3>
<pre><code>const imageUpload =document.getElementById('imageUpload')

Promise.all([
    faceapi.nets.faceRecognitionNet.loadFromUri('./models'),
    faceapi.nets.faceLandmark68Net.loadFromUri('./models'),
    faceapi.nets.ssdMobilenetv1.loadFromUri('./models')
]).then(start)

function start(){
    const container = document.createElement('div')
    container.style.position = 'relative'
    document.body.append(container)
    document.body.append('Loaded')
    imageUpload.addEventListener('change', async() =&gt;{
        const image = await faceapi.bufferToImage(imageUpload.files[0])
        container.append(image)
        const canvas = faceapi.createCanvasFromMedia(image)
        container.append(canvas)
        const displaySize = { width: image.width, height:image.height}
        faceapi.matchDimensions(canvas, displaySize)
        const detections = await faceapi.detectAllFaces(image)
        .withFaceLandmarks().withFaceDescriptors()
        const resizedDetections = faceapi.resizeResults(detections,
        displaySize)
        resizedDetections.forEach(detection =&gt; {
            const box = detection.detection.box
            const drawBox = new faceapi.draw.DrawBox(box, {label: 'Face'})
            drawBox.draw(canvas)
        })
    })
}</code></pre>
<p>script.js内で顔検出の実行処理などを記述します。</p>
<h3><span id="toc7">■実行、デバッグ</span></h3>
<p>記述後、実行、デバッグを行います。今回はVisual Studio Codeの拡張機能で「Live Server」と「Debbuger for Chrome」を事前にインストールし、GoogleChromeにて実行、デバッグを行います。なお、今回使用する画像は、著作物を考慮し、フリーで高品質な画像素材が検索できるPixabay（<a href="https://pixabay.com/ja/">https://pixabay.com/ja/</a>）からダウンロードしてきた画像を使います。（商用利用可能OKの画像）。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9145" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1-300x160.png" alt="" width="300" height="160" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1-300x160.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1-1024x546.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1-768x410.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/06/スクリーンショット-2021-06-15-144809-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行、デバッグしてみると、使用した顔検出・顔認識モデルの影響か、それともそれ以外が原因か、一人の顔の認識できませんでしたが、顔としての認識はされているので、今回はこれで顔認識のテストを終了します。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/simple-face-recognition-with-face-api-js-javascript-in-a-web-browser/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Node.js/JavaScriptとPuppeteerを使ってAmazon（アマゾン）をスクレイピングする</title>
		<link>https://laboratory.kazuuu.net/scraping-amazon-with-node-js-and-puppeteer/</link>
					<comments>https://laboratory.kazuuu.net/scraping-amazon-with-node-js-and-puppeteer/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 29 Apr 2021 06:14:44 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=7987</guid>

					<description><![CDATA[Node.js/JavaScriptとPuppeteerを使用し、Amazon（アマゾン）をスクレイピングすることについて解説しています。 なお、JavaScriptの実行にはNode.jsとnpm（Node Packa [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Node.js/JavaScriptとPuppeteerを使用し、Amazon（アマゾン）をスクレイピングすることについて解説しています。</p>
<p>なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので、コンピュータにNode.jsとnpmがインストールされている必要があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■空のディレクトリを用意する</a></li><li><a href="#toc3" tabindex="0">■package.json（初期値）を作成する</a></li><li><a href="#toc4" tabindex="0">■Puppeteerのインストール</a></li><li><a href="#toc5" tabindex="0">■スクリプトを作成する</a><ol><li><a href="#toc6" tabindex="0">■コード（scrapers.js）</a></li><li><a href="#toc7" tabindex="0">■ページ内の特定要素（Xpath）を取得する場合</a></li></ol></li><li><a href="#toc8" tabindex="0">■実行</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10、Administrator（管理者）アカウント</p>
<p>・node &#8211;version v14.15.0</p>
<p>・npm &#8211;version 6.14.8</p>
<h2><span id="toc2">■空のディレクトリを用意する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7989" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1-300x182.png" alt="" width="300" height="182" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1-300x182.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1-1024x623.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1-768x467.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-140359-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>まずはWindows10上に空のディレクトリを用意します。今回は「C:\Users\Administrator（フォルダパス）」に「web_scraping」というディレクトリを用意しました。</p>
<h2><span id="toc3">■package.json（初期値）を作成する</span></h2>
<p>用意したあとに、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator&gt;cd web_scraping</pre>
<p>上記のコマンドを入力し、Enterキーを押します。cdコマンドでディレクトリに移動します。</p>
<pre>C:\Users\Administrator\web_scraping&gt;npm init -y</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。package.json（初期値）を作成します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-141412.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7990" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-141412-300x162.png" alt="" width="300" height="162" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-141412-300x162.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-141412.png 568w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Enterキーを押すと、package.jsonが作成され、package.jsonの中身が出力されます。</p>
<h2><span id="toc4">■Puppeteerのインストール</span></h2>
<pre>C:\Users\Administrator\web_scraping&gt;npm install puppeteer</pre>
<p>出力後、上記のコマンドを入力し、Enterキーを押します。</p>
<pre>&gt; puppeteer@9.0.0 install C:\Users\Administrator\web_scraping\node_modules\puppeteer
&gt; node install.js

Downloading Chromium r869685 - 166.1 Mb [====================] 100% 0.0s
Chromium (869685) downloaded to C:\Users\Administrator\web_scraping\node_modules\puppeteer\.local-chromium\win64-869685
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN web_scraping@1.0.0 No description
npm WARN web_scraping@1.0.0 No repository field.

+ puppeteer@9.0.0
added 54 packages from 72 contributors and audited 54 packages in 45.876s

8 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities</pre>
<p>Enterキーを押すと、インストールが開始され、完了となります。</p>
<h2><span id="toc5">■スクリプトを作成する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7991" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134-300x177.png" alt="" width="300" height="177" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134-300x177.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134-1024x603.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134-768x452.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-142134.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>完了後、スクリプトを作成するために、「C:\Users\Administrator（フォルダパス）」の「web_scraping」ディレクトリ内に「scrapers.js」というjsファイルを作成します。作成後、このファイルをコードエディタで開きます。</p>
<h3><span id="toc6">■コード（scrapers.js）</span></h3>
<pre>const puppeteer = require('puppeteer');

async function scrapeProduct(url){
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto(url);

    const [el] = await page.$x('//*[@id="productTitle"]');
    const txt = await el.getProperty('textContent');
    const rawTxt = await txt.jsonValue();

    console.log({rawTxt});

    browser.close();
}

scrapeProduct('https://www.amazon.co.jp/商品詳細ページ');</pre>
<p>Webブラウザでアマゾン（https://www.amazon.co.jp/）の商品詳細ページにアクセスし、ページ内の要素を取得し、コンソールに要素内のテキストを出力します。今回は商品のタイトルを取得して出力してみます。</p>
<h3><span id="toc7">■ページ内の特定要素（Xpath）を取得する場合</span></h3>
<p>アマゾン（https://www.amazon.co.jp/）のページ内の特定要素（Xpath）を取得する場合は、GoogleChrome上で取得した要素にマウスを移動し選択します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7994" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016-300x138.png" alt="" width="300" height="138" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016-300x138.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016-1024x470.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016-768x352.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150016.png 1164w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>選択後、右クリックします。クリックすると、メニューが表示されますので、この中から「検証」をクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7998" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1-300x158.png" alt="" width="300" height="158" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1-300x158.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1-1024x540.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1-768x405.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-145357-1.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると、右側にWebページのソースが表示され、選択した部分が水色に表示されます。この状態で右クリックします。すると、メニューが表示され「Copy」をクリックします。さらにメニューが表示されますので「Copy Xpath」をクリックします。</p>
<p>クリックすると、特定要素（Xpath）がコピーされますので、あとはコードエディタへ追加します。</p>
<h2><span id="toc8">■実行</span></h2>
<p>スクリプトが完成した後は、実際にAmazon（アマゾン）をスクレイピングできるのか検証のため、実行させてみます。今回は、コマンドプロンプトから実行してみます。</p>
<pre>C:\Users\Administrator\web_scraping&gt;node scrapers.js</pre>
<p>実行する際は、上記のコマンドを入力し、Enterキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7996" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928-300x205.png" alt="" width="300" height="205" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928-300x205.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928-1024x699.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928-768x524.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-29-150928.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Enterキーを押すと、ブラウザが自動的に起動し、今回指定したアマゾン（https://www.amazon.co.jp/）の商品詳細ページにアクセスし、ページ内の特定要素を取得し、出力させることができました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/scraping-amazon-with-node-js-and-puppeteer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Node.jsとPuppeteerを使ってWebサイトをスクレイピングする</title>
		<link>https://laboratory.kazuuu.net/scraping-a-website-using-node-js-and-puppeteer/</link>
					<comments>https://laboratory.kazuuu.net/scraping-a-website-using-node-js-and-puppeteer/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 08 Apr 2021 02:05:58 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=7431</guid>

					<description><![CDATA[Node.jsとPuppeteerを使ってWebサイトをスクレイピングしてみます。 なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので、コンピュータにNo [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Node.jsとPuppeteerを使ってWebサイトをスクレイピングしてみます。</p>
<p>なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので、コンピュータにNode.jsとnpmがインストールされている必要があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■Web Scraperの設定</a><ol><li><a href="#toc3" tabindex="0">■コード</a></li></ol></li><li><a href="#toc4" tabindex="0">■jsファイルの作成</a><ol><li><a href="#toc5" tabindex="0">■browser.js</a></li><li><a href="#toc6" tabindex="0">■index.js</a></li><li><a href="#toc7" tabindex="0">■pageController.js</a></li><li><a href="#toc8" tabindex="0">■pageScraper.js</a></li><li><a href="#toc9" tabindex="0">■今回のプログラムのファイル構造</a></li></ol></li><li><a href="#toc10" tabindex="0">■Web scraperアプリケーションの実行</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10、Administrator（管理者）アカウント</p>
<p>・node &#8211;version v14.15.0</p>
<p>・npm &#8211;version 6.14.8</p>
<h2><span id="toc2">■Web Scraperの設定</span></h2>
<p>Web Scraperの設定のために、プロジェクト用のフォルダを作成しますので、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator&gt;mkdir web-scraper</pre>
<p>起動後、上記のコマンドを入力し、今回は「web-scraper」というフォルダを作成します。作成のために、エンターキーを押します。</p>
<pre>C:\Users\Administrator&gt;cd web-scraper</pre>
<p>押した後に、上記のコマンドを入力し、「web-scraper」というフォルダ内に移動します。移動のためにエンターキーを押します。</p>
<p>押した後に、npm（node package manager）を使用し、パッケージをインストールします。その前に、プロジェクトの依存関係やメタデータを管理するpackages.jsonファイルを作成するために、npmを初期化します。</p>
<pre>C:\Users\Administrator\web-scraper&gt;npm init</pre>
<p>初期化のために、上記のコマンドを入力し、エンターキーを押します。</p>
<pre>This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (web-scraper)</pre>
<p>エンターキーを押すと、上記のメッセージが表示されます。「package name: (web-scraper)」と表示されていますので、フォルダの名前である「web-scraper」と入力します。その後、エンターキーを押します。</p>
<pre>version: (1.0.0)</pre>
<p>エンターキーを押すと、バージョンが表示されていますので、エンターキーを押します。今回は1.0.0をインストールします。</p>
<pre>description:</pre>
<p>エンターキーを押すと、「description:（説明）」と表示されますので、今回は「a web scraper」を入力し、エンターキーを押します。</p>
<pre>entry point: (index.js)</pre>
<p>エンターキーを押すと、「entry point: (index.js)」と表示されていますので、エンターキーを押します。</p>
<pre>test command:</pre>
<p>エンターキーを押すと、「test command:」と表示されていますので、エンターキーを押します。</p>
<pre>git repository:</pre>
<p>エンターキーを押すと、「git repository:」と表示されていますので、エンターキーを押します。</p>
<pre>keywords:</pre>
<p>エンターキーを押すと、「keywords:」と表示されていますので、エンターキーを押します。</p>
<pre>author:</pre>
<p>エンターキーを押すと、「author:」と表示されていますので、エンターキーを押します。</p>
<pre>license: (ISC)</pre>
<p>エンターキーを押すと、「license: (ISC)」と表示されていますので、エンターキーを押します。</p>
<pre>{
  "name": "web-scraper",
  "version": "1.0.0",
  "description": "a web scraper",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" &amp;&amp; exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)</pre>
<p>エンターキーを押すと、作成したpackages.jsonファイルの内容が表示されていますので、確認し、「y」と入力し、エンターキーを押します。</p>
<pre>C:\Users\Administrator\web-scraper&gt;npm install --save puppeteer</pre>
<p>エンターキーを押した後に、npmを使用し、Puppeteerをインストールしますので、上記のコマンドを入力し、エンターキーを押します。</p>
<pre>&gt; puppeteer@8.0.0 install C:\Users\Administrator\web-scraper\node_modules\puppeteer
&gt; node install.js

Downloading Chromium r856583 - 164.6 Mb [====================] 100% 0.0s
Chromium (856583) downloaded to C:\Users\Administrator\web-scraper\node_modules\puppeteer\.local-chromium\win64-856583
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN web-scraper@1.0.0 No repository field.

+ puppeteer@8.0.0
added 54 packages from 73 contributors and audited 54 packages in 92.698s

8 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities</pre>
<p>エンターキーを押すと、ダウンロードが開始され、インストールが始まります。しばらくすると、インストールが完了します。</p>
<p>インストール後、「C:\Users\Administrator\（フォルダパス）」の「web-scraper」のフォルダにあるpackage.jsonのファイルをコードエディタを開き、編集します。</p>
<h3><span id="toc3">■コード</span></h3>
<pre>{
  "name": "web-scraper",
  "version": "1.0.0",
  "description": "a web scraper",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" &amp;&amp; exit 1",
    "start": "node index.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "puppeteer": "^8.0.0"
  }
}</pre>
<p>package.jsonのファイルの「&#8221;scripts&#8221;」の部分に「&#8221;start&#8221;: &#8220;node index.js&#8221;」と記述します。記述後、保存します。</p>
<pre>npm ERR! missing script: start

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Administrator\AppData\Roaming\npm-cache\_logs\2021-04-08T01_28_15_781Z-debug.log</pre>
<p>なお、この記述がない場合は、アプリケーションを実行した際に上記のエラーが発生します。</p>
<h2><span id="toc4">■jsファイルの作成</span></h2>
<p>保存後、web scraperには、browser.js、index,js、pageController.js、pageScraper.jsという4つのjsファイルが必要ですので、「C:\Users\Administrator\（フォルダパス）」の「web-scraper」のフォルダ内に作成します。これを作成することで、web scraperのブラウザインスタンスを設定し、起動すると、自動的にChromiumを開き、Webスクレイピングできるようになります。</p>
<p>コードエディタを開き、下記のコードを記述し、jsファイルを作成していきます。作成後、ファイルを保存します。</p>
<h3><span id="toc5">■browser.js</span></h3>
<pre>const puppeteer = require('puppeteer');

async function startBrowser(){
    let browser;
    try {
        console.log("Opening the browser......");
        browser = await puppeteer.launch({
            headless: false,
            args: ["--disable-setuid-sandbox"],
            'ignoreHTTPSErrors': true
        });
    } catch (err) {
        console.log("Could not create a browser instance =&gt; : ", err);
    }
    return browser;
}

module.exports = {
    startBrowser
};</pre>
<h3><span id="toc6">■index.js</span></h3>
<pre>const browserObject = require('./browser');
const scraperController = require('./pageController');

//ブラウザを起動しブラウザインスタンスを作成
let browserInstance = browserObject.startBrowser();

// ブラウザのインスタンスをスクレーパーコントローラーに渡す
scraperController(browserInstance)</pre>
<h3><span id="toc7">■pageController.js</span></h3>
<pre>const pageScraper = require('./pageScraper');
async function scrapeAll(browserInstance){
    let browser;
    try{
        browser = await browserInstance;
        await pageScraper.scraper(browser);

    }
    catch(err){
        console.log("Could not resolve the browser instance =&gt; ", err);
    }
}

module.exports = (browserInstance) =&gt; scrapeAll(browserInstance)</pre>
<h3><span id="toc8">■pageScraper.js</span></h3>
<pre>const scraperObject = {
    url: 'https://www.yahoo.co.jp/',
    async scraper(browser){
        let page = await browser.newPage();
        console.log(`Navigating to ${this.url}...`);
        await page.goto(this.url);

    }
}

module.exports = scraperObject;</pre>
<p>なお、今回は自動でChromiumを開き、Webサイトへアクセスしますが、pageScraper.jsのファイルで「url: &#8216;https://www.yahoo.co.jp/&#8217;」と指定して、Yahoo!Japanへアクセスしてみます。</p>
<h3><span id="toc9">■今回のプログラムのファイル構造</span></h3>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7434" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239-300x158.png" alt="" width="300" height="158" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239-300x158.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239-1024x538.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239-768x404.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-104239.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2><span id="toc10">■Web scraperアプリケーションの実行</span></h2>
<p>すべてのjsファイルの作成が完了後、Web scraperアプリケーションを実行してみます。</p>
<p>実行する場合は、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator\web-scraper&gt;npm run start</pre>
<p>起動後、上記のコマンドを入力し、アプリケーションを実行します。実行のため、エンターキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7436" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-300x167.png" alt="" width="300" height="167" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-300x167.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-1024x570.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-768x428.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-120x68.png 120w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445-160x90.png 160w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-08-105445.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<pre>&gt; web-scraper@1.0.0 start C:\Users\Administrator\web-scraper
&gt; node index.js

Opening the browser......
Navigating to https://www.yahoo.co.jp/...</pre>
<p>エンターキーを押すと、上記のメッセージが表示され、自動でChromiumを開きます。Chromiumには「Chromeは自動テストソフトウェアによって制御されています。」と表示されています。表示された状態で今回指定したYahoo!Japan（https://www.yahoo.co.jp/）にアクセスし、サイトが表示されることを確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/scraping-a-website-using-node-js-and-puppeteer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JavaScript / Node.jsでWebクローラーの作成とWebスクレイピング</title>
		<link>https://laboratory.kazuuu.net/creating-a-web-crawler-with-javascript-node-js/</link>
					<comments>https://laboratory.kazuuu.net/creating-a-web-crawler-with-javascript-node-js/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 07 Apr 2021 01:06:32 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=7409</guid>

					<description><![CDATA[JavaScript / Node.jsでWebクローラーを作り、Webスクレイピングを行ってみます。 なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>JavaScript / Node.jsでWebクローラーを作り、Webスクレイピングを行ってみます。</p>
<p>なお、JavaScriptの実行にはNode.jsとnpm（Node Package Manager）を使用するので、コンピュータにNode.jsとnpmがインストールされている必要があります。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■新規フォルダの作成と、crawler.jsという空のファイルを作成する</a><ol><li><a href="#toc3" tabindex="0">■コード</a></li></ol></li><li><a href="#toc4" tabindex="0">■npmを使用し、ライブラリをインストールする</a><ol><li><a href="#toc5" tabindex="0">■コード</a></li></ol></li><li><a href="#toc6" tabindex="0">■JavaScriptでのWebページの取得と解析</a><ol><li><a href="#toc7" tabindex="0">■コード</a></li></ol></li><li><a href="#toc8" tabindex="0">■実行</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10、Administrator（管理者）アカウント</p>
<p>・node &#8211;version v14.15.0</p>
<p>・npm &#8211;version 6.14.8</p>
<h2><span id="toc2">■新規フォルダの作成と、crawler.jsという空のファイルを作成する</span></h2>
<p>まずは、新規フォルダの作成と、crawler.jsという空のファイルを作成します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7413" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426-300x241.png" alt="" width="300" height="241" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426-300x241.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426-1024x823.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426-768x617.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085426.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>今回は「C:\Users\Administrator（フォルダパス）」という場所に、「simple-web-crawler」という名前のフォルダを作成します。</p>
<h3><span id="toc3">■コード</span></h3>
<pre>var request = require('request');
var cheerio = require('cheerio');
var URL = require('url-parse');</pre>
<p>作成後、コードエディタを開き、上記のコードを記述します。</p>
<p>なお、今回は、下記の3つのライブラリを使用します。</p>
<p>・Request（HTTPリクエストを行う）</p>
<p>・Cheerio（ページ上のHTML要素を解析して選択する）</p>
<p>・URL-parse（URLを解析する）</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7414" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945-300x203.png" alt="" width="300" height="203" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945-300x203.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945-1024x692.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945-768x519.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-085945.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>記述後、ファイルを保存します。保存する際に、「crawler.js」という名前でファイルを保存します。保存する場所は、「C:\Users\Administrator」の「simple-web-crawler」というフォルダになります。</p>
<h2><span id="toc4">■npmを使用し、ライブラリをインストールする</span></h2>
<p>保存後、npmを使用し、ライブラリをインストールしますが、その前にpackage.jsonというファイルを作成し、今回のプロジェクトの説明と依存関係を指定します。</p>
<h3><span id="toc5">■コード</span></h3>
<pre>{
  "name": "simple-webcrawler-javascript",
  "version": "0.0.0",
  "description": "A simple webcrawler written in JavaScript",
  "main": "crawler.js",
  "author": "Stephen",
  "license": "ISC",
  "dependencies": {
    "cheerio": "^0.19.0",
    "url-parse": "^1.0.5",
    "request": "^2.65.0"
  }
}</pre>
<p>そのために、コードエディタを開き、上記のコードを記述します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7415" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012-300x202.png" alt="" width="300" height="202" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012-300x202.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012-1024x688.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012-768x516.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-091012.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>記述後、ファイルを保存します。保存する際に、「package.json」という名前でファイルを保存します。保存する場所は、「C:\Users\Administrator」の「simple-web-crawler」というフォルダになります。</p>
<p>保存後、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator&gt;cd simple-web-crawler</pre>
<p>起動後、上記のコマンドを入力し、「C:\Users\Administrator」の「simple-web-crawler」というフォルダに移動するために、エンターキーを押します。</p>
<pre>C:\Users\Administrator\simple-web-crawler&gt;npm install</pre>
<pre>npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN simple-webcrawler-javascript@0.0.0 No repository field.

added 68 packages from 68 contributors and audited 68 packages in 4.328s

2 packages are looking for funding
  run `npm fund` for details

found 4 vulnerabilities (2 low, 2 high)
  run `npm audit fix` to fix them, or `npm audit` for details</pre>
<p>エンターキーを押すと、ライブラリのインストールが開始され、上記のようなメッセージが表示されます。今回はライブラリが古いので、脆弱性が見つかりましたなどの表示がありますが、テストで動作確認を行うため、脆弱性が見つかりましたなどは、いったん無視し進めます。</p>
<h2><span id="toc6">■JavaScriptでのWebページの取得と解析</span></h2>
<p>ライブラリをインストール後、JavaScriptでのWebページの取得と解析を行います。行う場合は、コードエディタで「C:\Users\Administrator」の「simple-web-crawler」というフォルダの「crawler.js」を開き、Webページの取得と解析を行うコードを記述します。</p>
<h3><span id="toc7">■コード</span></h3>
<pre>var request = require('request'); 
var cheerio = require('cheerio'); 
var URL = require('url-parse');

var pageToVisit = "https://www.yahoo.co.jp/";
console.log("閲覧ページ: " + pageToVisit);
request(pageToVisit, function(error, response, body) {
   if(error) {
     console.log("Error: " + error);
   }
   // ステータスコードの確認 (200はHTTP OK)
   console.log("ステータスコード: " + response.statusCode);
   if(response.statusCode === 200) {
     // ソース内のdocumentのbodyを解析
     var $ = cheerio.load(body);
     console.log("ページタイトル:  " + $('title').text());
   }
});</pre>
<p>記述するコードは上記になります。今回はYahoo！Japan（https://www.yahoo.co.jp/）のページの取得と解析を行ってみます。</p>
<p>記述後、このコードを「crawler.js」に上書き保存します。</p>
<h2><span id="toc8">■実行</span></h2>
<p>保存後、JavaScriptでのWebページの取得と解析を行うため、スクリプトを実行してみます。</p>
<p>実行する際は、Windows10の検索ボックスで「cmd」と入力し、コマンドプロンプトをクリックします。クリックすると、コマンドプロンプトが起動します。</p>
<pre>C:\Users\Administrator&gt;cd simple-web-crawler</pre>
<p>起動後、上記のコマンドを入力し、「C:\Users\Administrator」の「simple-web-crawler」というフォルダに移動するために、エンターキーを押します。</p>
<pre>C:\Users\Administrator\simple-web-crawler&gt;node crawler.js</pre>
<p>押した後、上記のコマンドを入力し、エンターキーを押します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7421" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357-300x133.png" alt="" width="300" height="133" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357-300x133.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357-1024x454.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357-768x340.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/04/スクリーンショット-2021-04-07-094357.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>エンターキーを押すと、今回指定したYahoo！Japan（https://www.yahoo.co.jp/）をWebクローラーが収集（クローリング）を行い、「ステータスコード:200（リクエストが成功）」となり、「ページタイトル」を取得することができました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/creating-a-web-crawler-with-javascript-node-js/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHPを使用しアラートメッセージボックスをポップアップ表示する</title>
		<link>https://laboratory.kazuuu.net/using-php-to-populate-alert-message-boxes/</link>
					<comments>https://laboratory.kazuuu.net/using-php-to-populate-alert-message-boxes/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Thu, 25 Feb 2021 02:25:16 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=6520</guid>

					<description><![CDATA[PHPを使用しアラートメッセージボックスをポップアップ表示してみます。 なお、PHP自体ではアラート（警告）メッセージボックスが表示できませんので、PHP本体内のJavaScriptコードを使用してアラートメッセージボッ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>PHPを使用しアラートメッセージボックスをポップアップ表示してみます。</p>
<p>なお、PHP自体ではアラート（警告）メッセージボックスが表示できませんので、PHP本体内のJavaScriptコードを使用してアラートメッセージボックスをポップアップ表示してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■環境</a></li><li><a href="#toc2" tabindex="0">■アラート（警告）メッセージボックスを表示する</a><ol><li><a href="#toc3" tabindex="0">■コード</a></li><li><a href="#toc4" tabindex="0">■実行</a></li><li><a href="#toc5" tabindex="0">■PHP の関数 ( function )を使用し、アラート（警告）メッセージボックスが表示する</a></li><li><a href="#toc6" tabindex="0">■コード</a></li><li><a href="#toc7" tabindex="0">■実行</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■環境</span></h2>
<p>・Windows10（Microsoft Edge）</p>
<p>・WampServer Version 3.2.3 64bit</p>
<p>・PHP Version 7.3.21</p>
<h2><span id="toc2">■アラート（警告）メッセージボックスを表示する</span></h2>
<p>では、アラート（警告）メッセージボックスを表示するスクリプトを書いてきます。</p>
<h3><span id="toc3">■コード</span></h3>
<pre><code>&lt;?php
echo '&lt;script&gt;alert("ようこそのWebの世界へ")&lt;/script&gt;';
?&gt;</code></pre>
<p>アラート（警告）メッセージボックスが表示する際は、PHPのecho文を使用し、中にJavaScriptのscriptタグを書きます。書いた後に、アラート（警告）メッセージボックスが表示するために、alert()と書きます。</p>
<p>書いた後に括弧内にアラート（警告）メッセージボックスで表示させる文字列を書きます。これで、アラート（警告）メッセージボックスを表示することができます。</p>
<h3><span id="toc4">■実行</span></h3>
<p>では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-111123.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6522" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-111123-300x118.png" alt="" width="300" height="118" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-111123-300x118.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-111123-1024x401.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-111123-768x301.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-111123.png 1225w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行させてみると、Webブラウザにアラート（警告）メッセージボックスが表示され、さらに「localhostの内容」と表示されます。表示されたボックスの中にalert()の括弧内に書いた文字列が表示されることが確認できました。なお、アラート（警告）メッセージボックスの「OK」ボタンをクリックすると、ボックスが閉じます。</p>
<h3><span id="toc5">■PHP の関数 ( function )を使用し、アラート（警告）メッセージボックスが表示する</span></h3>
<p>では、次にPHP の関数 ( function )を使用し、アラート（警告）メッセージボックスを表示するスクリプトを書いていきます。</p>
<h3><span id="toc6">■コード</span></h3>
<pre><code>&lt;?php
function func_alert($message){
    echo "&lt;script&gt;alert('$message');&lt;/script&gt;";
}
func_alert("ようこそのWebの世界へ");
?&gt;</code></pre>
<p>func_alertという関数を定義し、括弧内にmessageという引数を指定します。関数の中にecho文を使用し、中にJavaScriptのscriptタグを書きます。書いた後に、アラート（警告）メッセージボックスが表示するために、alert()と書きます。括弧内にはmessageという引数を指定します。</p>
<p>指定後、func_alertという関数を呼び出す。その際に括弧内にアラート（警告）メッセージボックスが表示するための文字列を書きます。</p>
<h3><span id="toc7">■実行</span></h3>
<p>では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-112320-1.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-6523" src="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-112320-1-300x147.png" alt="" width="300" height="147" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-112320-1-300x147.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-112320-1-1024x501.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-112320-1-768x376.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2021/02/スクリーンショット-2021-02-25-112320-1.png 1250w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>実行させてみると、関数を呼び出され、Webブラウザにアラート（警告）メッセージボックスが表示されることが確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/using-php-to-populate-alert-message-boxes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Nuxt.jsをインストール、新規アプリケーションをローカルWebサーバー/環境で公開する（Windows10）</title>
		<link>https://laboratory.kazuuu.net/install-nuxt-js-and-publish-new-application-on-local-web-server-windows10/</link>
					<comments>https://laboratory.kazuuu.net/install-nuxt-js-and-publish-new-application-on-local-web-server-windows10/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Wed, 04 Nov 2020 02:54:10 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Nuxt.js]]></category>
		<category><![CDATA[サーバー]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=4242</guid>

					<description><![CDATA[Nuxt.jsをインストール、新規アプリケーションをローカルWebサーバー/環境で公開してみます。 目次 ■PC環境■プロジェクトを作るためのフォルダを用意する。■コマンドプロンプトを起動する■Nuxt.jsのインストー [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Nuxt.jsをインストール、新規アプリケーションをローカルWebサーバー/環境で公開してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■プロジェクトを作るためのフォルダを用意する。</a></li><li><a href="#toc3" tabindex="0">■コマンドプロンプトを起動する</a></li><li><a href="#toc4" tabindex="0">■Nuxt.jsのインストール</a></li><li><a href="#toc5" tabindex="0">■ローカルWebサーバー/環境でサイトを公開する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10、Administrator（管理者）アカウント</p>
<p>・node version 14.15.0</p>
<p>・npm version 6.14.8</p>
<h2><span id="toc2">■プロジェクトを作るためのフォルダを用意する。</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-111128.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-4244" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-111128-300x163.png" alt="" width="300" height="163" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-111128-300x163.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-111128.png 709w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>まずNuxt.jsの新しいプロジェクトを作るためのフォルダを用意する。</p>
<p>今回は、「C:\test（フォルダパス）」に設定してます。</p>
<h2><span id="toc3">■コマンドプロンプトを起動する</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-111406.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-4245" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-111406-188x300.png" alt="" width="188" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-111406-188x300.png 188w, https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-111406.png 427w" sizes="(max-width: 188px) 100vw, 188px" /></a></p>
<p>Windows10のデスクトップ画面に、「ここに入力して検索」と表示されている検索ボックスで「コマンドプロンプト」と検索します。検索すると、コマンドプロンプトが表示されますので、こちらをクリックします。クリックすると、コマンドプロンプトのウインドウが表示されます。</p>
<h2><span id="toc4">■Nuxt.jsのインストール</span></h2>
<pre>npx create-nuxt-app demo</pre>
<p>表示後、上記のコマンドを入力し、Enterキーを押します。「npx create-nuxt-app &lt;project-name&gt;」となります。今回はプロジェクト名は「demo」と入力します。</p>
<blockquote><p>create-nuxt-app v3.4.0<br />
✨ Generating Nuxt.js project in demo<br />
? Project name: (demo)</p></blockquote>
<p>Enterキーを押すと、「Project name（プロジェクト名」の入力が表示されますので、今回のプロジェクト名である「demo」と入力し、Enterキーを押します。</p>
<blockquote><p>Programming language: (Use arrow keys)<br />
&gt; JavaScript<br />
TypeScript</p></blockquote>
<p>Enterキーを押すと、「Programming language: (Use arrow keys)（プログラミング言語:(矢印キーを使用））」と表示されますので、今回は「Javascript」を矢印キーで選択し、Enterキーを押します。</p>
<blockquote><p>? Package manager: (Use arrow keys)<br />
Yarn<br />
&gt;Npm</p></blockquote>
<p>Enterキーを押すと、「 Package manager: (Use arrow keys)（パッケージマネージャー:(矢印キーを使用））」と表示されますので、今回は「Npm」と矢印キーで選択し、Enterキーを押します。</p>
<blockquote><p>? UI framework: (Use arrow keys)<br />
&gt; None<br />
Ant Design Vue<br />
Bootstrap Vue<br />
Buefy<br />
Bulma<br />
Chakra UI<br />
Element<br />
Framevuerk<br />
iView<br />
Tachyons<br />
Tailwind CSS<br />
Vuesax<br />
Vuetify.js</p></blockquote>
<p>Enterキーを押すと、「UI framework: (Use arrow keys)（UIフレームワーク:(矢印キーを使用））」と表示されますので、今回は「None」を矢印キーで選択し、Enterキーを押します。</p>
<blockquote><p>? Nuxt.js modules: (Press &lt;space&gt; to select, &lt;a&gt; to toggle all, &lt;i&gt; to invert selection)<br />
&gt;( ) Axios<br />
( ) Progressive Web App (PWA)<br />
( ) Content</p></blockquote>
<p>Enterキーを押すと、「? Nuxt.js modules: (Press &lt;space&gt; to select, &lt;a&gt; to toggle all, &lt;i&gt; to invert selection)（Nuxt.jsモジュール：（＜スペース＞を押して選択、＜a＞を押してすべてを切り替え、＜i＞を押して選択を反転します））」と表示されますので、今回は「Axios」をスペースキーで選択し、Enterキーを押します。</p>
<blockquote><p>Linting tools: (Press &lt;space&gt; to select, &lt;a&gt; to toggle all, &lt;i&gt; to invert selection)<br />
&gt;( ) ESLint<br />
( ) Prettier<br />
( ) Lint staged files<br />
( ) StyleLint<br />
( ) Commitlint</p></blockquote>
<p>Enterキーを押すと、「Linting tools: (Press &lt;space&gt; to select, &lt;a&gt; to toggle all, &lt;i&gt; to invert selection)（静的解析ツール：（&lt;スペース&gt;を押して選択、&lt;a&gt;を押してすべてを切り替え、&lt;i&gt;を押して選択を反転します））」と表示されますので、今回は「ESLint」をスペースキーで選択し、Enterキーを押します。</p>
<blockquote><p>? Testing framework: (Use arrow keys)<br />
None<br />
Jest<br />
&gt;AVA<br />
WebdriverIO</p></blockquote>
<p>Enterキーを押すと、「Testing framework: (Use arrow keys)（テストフレームワーク:(矢印キーを使用））」と表示されますので、今回は「AVA」を矢印キーで選択し、Enterキーを押します。</p>
<blockquote><p>Rendering mode:<br />
Universal (SSR / SSG)<br />
&gt; Single Page App</p></blockquote>
<p>Enterキーを押すと、「Rendering mode:（レンダリングモード：）」と表示されますので、今回は「Single Page App」と選択し、Enterキーを押します。</p>
<blockquote><p>? Deployment target: (Use arrow keys)<br />
&gt; Server (Node.js hosting)<br />
Static (Static/JAMStack hosting)</p></blockquote>
<p>Enterキーを押すと「Deployment target: (Use arrow keys)（展開するターゲット:(矢印キーを使用））」と表示されますので、今回は「Server (Node.js hosting)」を矢印キーで選択し、Enterキーを押します。</p>
<blockquote><p>Development tools: (Press &lt;space&gt; to select, &lt;a&gt; to toggle all, &lt;i&gt; to invert selection)<br />
&gt;( ) jsconfig.json (Recommended for VS Code if you&#8217;re not using typescript)<br />
( ) Semantic Pull Requests<br />
( ) Dependabot (For auto-updating dependencies, GitHub only)</p></blockquote>
<p>Enterキーを押すと「Development tools: (Press &lt;space&gt; to select, &lt;a&gt; to toggle all, &lt;i&gt; to invert selection)（開発ツール：（&lt;スペース&gt;を押して選択、&lt;a&gt;を押してすべてを切り替え、&lt;i&gt;を押して選択を反転します））」と表示されますので、今回は「jsconfig.json」をスペースキーで選択し、Enterキーを押します。</p>
<blockquote><p>? Continuous integration: (Use arrow keys)<br />
&gt; None<br />
GitHub Actions (GitHub only)</p></blockquote>
<p>Enterキーを押すと「Continuous integration: (Use arrow keys)（継続的インテグレーション(矢印キーを使用））」と表示されますので、今回は「None」を矢印キーで選択し、Enterキーを押します。</p>
<blockquote><p>? Version control system: (Use arrow keys)<br />
Git<br />
&gt; None</p></blockquote>
<p>Enterキーを押すと「Version control system: (Use arrow keys)（バージョン管理システム:(矢印キーを使用））」と表示されますので、今回は「None」を矢印キーで選択し、Enterキーを押します。</p>
<blockquote><p>Installing packages with npm</p></blockquote>
<p>Enterキーを押すと、npmを使用したパッケージのインストールが開始されます。</p>
<blockquote><p>npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now<br />
deprecated request package, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated @nuxt/static@1.0.0: this feature has been moved to the core. you can directly use nuxt generate<br />
npm WARN deprecated har-validator@5.1.5: this library is no longer supported<br />
npm WARN deprecated core-js@2.6.11: core-js@&lt;3 is no longer maintained and not recommended for usage due to the number<br />
of issues. Please, upgrade your dependencies to the actual version of core-js@3.<br />
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencie<br />
s.<br />
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated<br />
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated<br />
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade t<br />
o fsevents 2.</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&nbsp;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@3.6.5 postinstall C:\test\demop\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now<br />
deprecated request package, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated @nuxt/static@1.0.0: this feature has been moved to the core. you can directly use nuxt generate<br />
npm WARN deprecated har-validator@5.1.5: this library is no longer supported<br />
npm WARN deprecated core-js@2.6.11: core-js@&lt;3 is no longer maintained and not recommended for usage due to the number<br />
of issues. Please, upgrade your dependencies to the actual version of core-js@3.<br />
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencie<br />
s.<br />
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated<br />
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated<br />
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade t<br />
o fsevents 2.<br />
npm</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@3.6.5 postinstall C:\test\demop\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now<br />
deprecated request package, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated @nuxt/static@1.0.0: this feature has been moved to the core. you can directly use nuxt generate<br />
npm WARN deprecated har-validator@5.1.5: this library is no longer supported<br />
npm WARN deprecated core-js@2.6.11: core-js@&lt;3 is no longer maintained and not recommended for usage due to the number<br />
of issues. Please, upgrade your dependencies to the actual version of core-js@3.<br />
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencie<br />
s.<br />
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated<br />
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated<br />
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade t<br />
o fsevents 2.<br />
npm notice created a lockfile as package-lock.json. You should commit this file.<br />
npm WARN notsup Unsupported engine for watchpack-chokidar2@2.0.0: wanted: {&#8220;node&#8221;:&#8221;&lt;8.10.0&#8243;} (current: {&#8220;node&#8221;:&#8221;14.15.0<br />
&#8220;,&#8221;npm&#8221;:&#8221;6.14.8&#8243;})<br />
npm WARN notsup Not compatible with your version of node/npm: watchpack-chokidar2@2.0.0</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@3.6.5 postinstall C:\test\demop\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now<br />
deprecated request package, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated @nuxt/static@1.0.0: this feature has been moved to the core. you can directly use nuxt generate<br />
npm WARN deprecated har-validator@5.1.5: this library is no longer supported<br />
npm WARN deprecated core-js@2.6.11: core-js@&lt;3 is no longer maintained and not recommended for usage due to the number<br />
of issues. Please, upgrade your dependencies to the actual version of core-js@3.<br />
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencie<br />
s.<br />
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated<br />
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated<br />
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade t<br />
o fsevents 2.<br />
npm notice created a lockfile as package-lock.json. You should commit this file.<br />
npm WARN notsup Unsupported engine for watchpack-chokidar2@2.0.0: wanted: {&#8220;node&#8221;:&#8221;&lt;8.10.0&#8243;} (current: {&#8220;node&#8221;:&#8221;14.15.0<br />
&#8220;,&#8221;npm&#8221;:&#8221;6.14.8&#8243;})<br />
npm WARN notsup Not compatible with your version of node/npm: watchpack-chokidar2@2.0.0<br />
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules\chokidar\node_modules\fsevents):<br />
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {&#8220;os&#8221;:&#8221;darwin&#8221;,&#8221;arch&#8221;:&#8221;an<br />
y&#8221;} (current: {&#8220;os&#8221;:&#8221;win32&#8243;,&#8221;arch&#8221;:&#8221;x64&#8243;})</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@3.6.5 postinstall C:\test\demop\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now<br />
deprecated request package, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated @nuxt/static@1.0.0: this feature has been moved to the core. you can directly use nuxt generate<br />
npm WARN deprecated har-validator@5.1.5: this library is no longer supported<br />
npm WARN deprecated core-js@2.6.11: core-js@&lt;3 is no longer maintained and not recommended for usage due to the number<br />
of issues. Please, upgrade your dependencies to the actual version of core-js@3.<br />
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencie<br />
s.<br />
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated<br />
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated<br />
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade t<br />
o fsevents 2.<br />
npm notice created a lockfile as package-lock.json. You should commit this file.<br />
npm WARN notsup Unsupported engine for watchpack-chokidar2@2.0.0: wanted: {&#8220;node&#8221;:&#8221;&lt;8.10.0&#8243;} (current: {&#8220;node&#8221;:&#8221;14.15.0<br />
&#8220;,&#8221;npm&#8221;:&#8221;6.14.8&#8243;})<br />
npm WARN notsup Not compatible with your version of node/npm: watchpack-chokidar2@2.0.0<br />
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules\chokidar\node_modules\fsevents):<br />
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {&#8220;os&#8221;:&#8221;darwin&#8221;,&#8221;arch&#8221;:&#8221;an<br />
y&#8221;} (current: {&#8220;os&#8221;:&#8221;win32&#8243;,&#8221;arch&#8221;:&#8221;x64&#8243;})<br />
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules\watchpack-chokidar2\node_modules\chokidar<br />
\node_modules\fsevents):<br />
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {&#8220;os&#8221;:&#8221;darwin&#8221;,&#8221;arch&#8221;:&#8221;a<br />
ny&#8221;} (current: {&#8220;os&#8221;:&#8221;win32&#8243;,&#8221;arch&#8221;:&#8221;x64&#8243;})</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@3.6.5 postinstall C:\test\demop\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&nbsp;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@3.6.5 postinstall C:\test\demop\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; nuxt@2.14.7 postinstall C:\test\demop\node_modules\nuxt<br />
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now<br />
deprecated request package, see https://github.com/request/request/issues/3142<br />
npm WARN deprecated @nuxt/static@1.0.0: this feature has been moved to the core. you can directly use nuxt generate<br />
npm WARN deprecated har-validator@5.1.5: this library is no longer supported<br />
npm WARN deprecated core-js@2.6.11: core-js@&lt;3 is no longer maintained and not recommended for usage due to the number<br />
of issues. Please, upgrade your dependencies to the actual version of core-js@3.<br />
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencie<br />
s.<br />
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated<br />
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated<br />
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade t<br />
o fsevents 2.<br />
npm notice created a lockfile as package-lock.json. You should commit this file.<br />
npm WARN notsup Unsupported engine for watchpack-chokidar2@2.0.0: wanted: {&#8220;node&#8221;:&#8221;&lt;8.10.0&#8243;} (current: {&#8220;node&#8221;:&#8221;14.15.0<br />
&#8220;,&#8221;npm&#8221;:&#8221;6.14.8&#8243;})<br />
npm WARN notsup Not compatible with your version of node/npm: watchpack-chokidar2@2.0.0<br />
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules\chokidar\node_modules\fsevents):<br />
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {&#8220;os&#8221;:&#8221;darwin&#8221;,&#8221;arch&#8221;:&#8221;an<br />
y&#8221;} (current: {&#8220;os&#8221;:&#8221;win32&#8243;,&#8221;arch&#8221;:&#8221;x64&#8243;})<br />
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules\watchpack-chokidar2\node_modules\chokidar<br />
\node_modules\fsevents):<br />
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {&#8220;os&#8221;:&#8221;darwin&#8221;,&#8221;arch&#8221;:&#8221;a<br />
ny&#8221;} (current: {&#8220;os&#8221;:&#8221;win32&#8243;,&#8221;arch&#8221;:&#8221;x64&#8243;})<br />
npm WARN require-extension-hooks-vue@3.0.0 requires a peer of vue-template-compiler@2.5.x but none is installed. You mu<br />
st install peer dependencies yourself.</p>
<p>&nbsp;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@3.6.5 postinstall C:\test\demop\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; nuxt@2.14.7 postinstall C:\test\demop\node_modules\nuxt</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@3.6.5 postinstall C:\test\demop\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; nuxt@2.14.7 postinstall C:\test\demop\node_modules\nuxt<br />
&gt; opencollective || exit 0</p>
<p>:-:</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\@nuxt\babel-preset-app\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!</p>
<p>The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:<br />
&gt; https://opencollective.com/core-js<br />
&gt; https://www.patreon.com/zloirock</p>
<p>Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\babel-plugin-espower\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\call-matcher\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; ejs@2.7.4 postinstall C:\test\demop\node_modules\ejs<br />
&gt; node ./postinstall.js</p>
<p>Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\empower-core\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@2.6.11 postinstall C:\test\demop\node_modules\espurify\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; core-js@3.6.5 postinstall C:\test\demop\node_modules\core-js<br />
&gt; node -e &#8220;try{require(&#8216;./postinstall&#8217;)}catch(e){}&#8221;</p>
<p>&gt; nuxt@2.14.7 postinstall C:\test\demop\node_modules\nuxt<br />
&gt; opencollective || exit 0</p>
<p>:-:<br />
.==-+:<br />
.==. :+- .-=-</p>
<p>🎉 Successfully created project demo</p>
<p>To get started:</p>
<p>cd demop<br />
npm run dev</p>
<p>To build &amp; start for production:</p>
<p>cd demop<br />
npm run build<br />
npm run start</p>
<p>To test:</p>
<p>cd demop<br />
npm run test</p></blockquote>
<p>インストールが開始され、しばらくすると「cd demop npm run test」と表示されますので、これが表示されれば、インストールは完了となります。</p>
<h2><span id="toc5">■ローカルWebサーバー/環境でサイトを公開する</span></h2>
<pre>C:\test&gt;cd demo</pre>
<p>インストール後、上記のコマンドで新しく作成したプロジェクト「demo」に移動します。</p>
<pre>npm run dev</pre>
<p>移動後、上記のコマンドを入力し、Enterキーを押します。</p>
<blockquote><p>i NuxtJS collects completely anonymous data about usage. 11:46:12<br />
This will help us improving Nuxt developer experience over the time.<br />
Read more on https://git.io/nuxt-telemetry</p>
<p>? Are you interested in participation? (Y/n)</p></blockquote>
<p>Enterキーを押すと、「i NuxtJS collects completely anonymous data about usage.（i NuxtJSは、使用状況に関する完全に匿名のデータを収集します。）」といった内容が表示され、「Are you interested in participation? (Y/n)（参加に興味がありますか？ （Y / n））」と質問されますので、今回は「Y」と入力し、Enterキーを押します。</p>
<blockquote><p>╭───────────────────────────────────────╮<br />
│ │<br />
│ Nuxt.js @ v2.14.7 │<br />
│ │<br />
│ ▸ Environment: development │<br />
│ ▸ Rendering: client-side │<br />
│ ▸ Target: server │<br />
│ │<br />
│ Listening: http://localhost:3000/ │<br />
│ │<br />
╰───────────────────────────────────────╯</p>
<p>i Preparing project for development 11:48:32<br />
i Initial build may take a while 11:48:32<br />
√ Builder initialized 11:48:32<br />
√ Nuxt files generated 11:48:32</p>
<p>√ Client<br />
Compiled successfully in 9.62s</p>
<p>i Waiting for file changes 11:48:46<br />
i Memory usage: 132 MB (RSS: 219 MB) 11:48:46<br />
i Listening on: http://localhost:3000/</p></blockquote>
<p>Enterキーを押すと、上記のように表示されますので、「i Listening on」と表示されている箇所のURLをコピーし、Webブラウザを起動します。起動後、WebブラウザのアドレスバーにコピーしたURLを貼り付けます。</p>
<p>貼り付けた後、アクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-115102.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-4246" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-115102-300x183.png" alt="" width="300" height="183" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-115102-300x183.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-115102-1024x623.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-115102-768x468.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/11/スクリーンショット-2020-11-04-115102.png 1061w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセスすると、サイトが公開されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/install-nuxt-js-and-publish-new-application-on-local-web-server-windows10/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【大人の入門講座】プログラムをmicro:bit（マイクロビット）に組み込む</title>
		<link>https://laboratory.kazuuu.net/incorporate-programs-into-the-micro-bit/</link>
					<comments>https://laboratory.kazuuu.net/incorporate-programs-into-the-micro-bit/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Tue, 27 Oct 2020 02:22:55 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[micro:bit（マイクロビット）]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=3943</guid>

					<description><![CDATA[作成したプログラムをmicro:bit（マイクロビット）に組み込む場合について解説します。 目次 ■作成したマイプロジェクトを開く■micro:bit（マイクロビット）本体に作成したマイプロジェクトのファイルを移動して書 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>作成したプログラムをmicro:bit（マイクロビット）に組み込む場合について解説します。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■作成したマイプロジェクトを開く</a></li><li><a href="#toc2" tabindex="0">■micro:bit（マイクロビット）本体に作成したマイプロジェクトのファイルを移動して書き込み</a></li><li><a href="#toc3" tabindex="0">■ワンクリックで書き込み</a></li><li><a href="#toc4" tabindex="0">■「micro:bitに保存」ボタンをクリックして書き込み</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">■作成したマイプロジェクトを開く</span></h2>
<p>まず、micro:bit（マイクロビット）とPCをMicroUSBケーブルで接続します。</p>
<p>接続後、Microsoft MakeCode for micro:bit（<a href="https://makecode.microbit.org/">https://makecode.microbit.org/</a>）にアクセスします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104322.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3944" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104322-300x143.png" alt="" width="300" height="143" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104322-300x143.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104322-768x366.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104322.png 983w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>アクセス後、作成したマイプロジェクトを選択し、開きます。</p>
<h2><span id="toc2">■micro:bit（マイクロビット）本体に作成したマイプロジェクトのファイルを移動して書き込み</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104514.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3945" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104514-300x105.png" alt="" width="300" height="105" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104514-300x105.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104514.png 739w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>プログラミングエディターの下に「ダウンロード」ボタンがありますので、こちらをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104822.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3946" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104822-300x184.png" alt="" width="300" height="184" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104822-300x184.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-104822.png 734w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-105005.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3947" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-105005.png" alt="" width="133" height="158" /></a></p>
<p>クリックすると、「ダウンロード完了&#8230;」というウインドウが表示されます。表示されると、自動的にファイルのダウンロードが開始され完了となります。完了すると、Webブラウザの指定されている保存場所に、hex形式のファイルがダウンロードされます。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-105744.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3948" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-105744-300x222.png" alt="" width="300" height="222" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-105744-300x222.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-105744-768x569.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-105744.png 801w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>ダウンロードされたhex形式のファイルを、PCに接続されているmicro:bit（マイクロビット）本体に移動させます。移動すると、プログラムが組み込まれます。</p>
<h2><span id="toc3">■ワンクリックで書き込み</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110021.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3949" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110021-300x187.png" alt="" width="300" height="187" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110021-300x187.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110021.png 729w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>別の方法は、「ダウンロード」ボタンをクリックすると、「ダウンロード完了&#8230;」というウインドウが表示されますが、「デバイスを接続する」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110044.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3950" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110044-300x179.png" alt="" width="300" height="179" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110044-300x179.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110044.png 726w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>クリックすると「接続してワンクリック書き込み」というウインドウが表示されますので、「デバイスを接続する」ボタンをクリックします。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110118.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3951" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110118-293x300.png" alt="" width="293" height="300" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110118-293x300.png 293w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-110118.png 454w" sizes="(max-width: 293px) 100vw, 293px" /></a></p>
<p>クリックすると、Webブラウザ（今回はGoogleChrome）に「makecode.microbit.org が接続を要求しています」と書かれたウインドウが表示されます。ウインドウ内には「BBC micro:bit」というデバイスが認識されていますので、こちらのデバイスを接続し、「接続」ボタンをクリックします。</p>
<p>クリックすると、プログラムの書き込みが行われます。</p>
<h2><span id="toc4">■「micro:bitに保存」ボタンをクリックして書き込み</span></h2>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-111547.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3952" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-111547-300x66.png" alt="" width="300" height="66" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-111547-300x66.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-111547.png 609w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>別の方法は、プログラミングエディターの下に「ダウンロード」ボタンがありますが、ダウンロードボタンの右側に「&#8230;」というボタンがありますので、こちらをクリックするとプルダウンメニューが表示され「micro:bitに保存する」という項目がありますので、こちらをクリックすると、接続しているmicro:bitに作成したマイプロジェクトのプログラムが書き込まれます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/incorporate-programs-into-the-micro-bit/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【JavaScript入門】Window.alert() メソッド &#8211; 警告ウィンドウを表示する</title>
		<link>https://laboratory.kazuuu.net/window-alert-method-display-a-warning-window/</link>
					<comments>https://laboratory.kazuuu.net/window-alert-method-display-a-warning-window/#respond</comments>
		
		<dc:creator><![CDATA[小林]]></dc:creator>
		<pubDate>Tue, 27 Oct 2020 00:50:31 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://laboratory.kazuuu.net/?p=3937</guid>

					<description><![CDATA[Window.alert() メソッド &#8211; 警告ウィンドウを表示してみます。 目次 ■PC環境■Document.write() メソッドを使って文字列（文章）の内容を表示する■コード■実行・検証 ■PC環境 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Window.alert() メソッド &#8211; 警告ウィンドウを表示してみます。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">■PC環境</a></li><li><a href="#toc2" tabindex="0">■Document.write() メソッドを使って文字列（文章）の内容を表示する</a><ol><li><a href="#toc3" tabindex="0">■コード</a></li><li><a href="#toc4" tabindex="0">■実行・検証</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">■PC環境</span></h2>
<p>・Windows10</p>
<p>・簡単に書いたコードを共有ができる「jsFiddle（<a href="https://jsfiddle.net/">https://jsfiddle.net/</a>）」</p>
<h2><span id="toc2">■Document.write() メソッドを使って文字列（文章）の内容を表示する</span></h2>
<p>Window.alert() メソッドを使って警告ウィンドウを表示してみます。</p>
<h3><span id="toc3">■コード</span></h3>
<p><script src="https://gist.github.com/kobayashikazu/e76f0ad816cb4e8f50fad29329564336.js"></script></p>
<p>Window.alert() はポップアップウインドウにメッセージを表示します。</p>
<p>括弧内に短い言葉を入力することで、ユーザーにエラーを通知することができます。フォームフィールドのエラーを修正するための指示などの情報をユーザーに提供する場合にも役立ちます。役立つものですが、誤用や多用してしまうと、Webサイトの訪問者にとって迷惑となりえます。</p>
<pre>alert('警告を表示')</pre>
<p>なお、Window.alert() は上記のように、alert() と短縮することができます。</p>
<p>また、HTML5では、スクリプトのタイプを指定する必要はなくなりました。つまり、「＜script type = &#8220;text / javascript&#8221;＞」という指定はなくなり、「＜script＞」の記述のみとなりました。</p>
<h3><span id="toc4">■実行・検証</span></h3>
<p>jsFiddle（<a href="https://jsfiddle.net/">https://jsfiddle.net/</a>）において、Window.alert() メソッドを使って実際に警告ウィンドウが表示されるのかを確認します。</p>
<p><a href="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-094721.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-3939" src="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-094721-300x174.png" alt="" width="300" height="174" srcset="https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-094721-300x174.png 300w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-094721-1024x593.png 1024w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-094721-768x445.png 768w, https://laboratory.kazuuu.net/wp-content/uploads/2020/10/スクリーンショット-2020-10-27-094721.png 1038w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>確認してみると、ポップアップウインドウが表示されることを確認できました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://laboratory.kazuuu.net/window-alert-method-display-a-warning-window/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
