Node.js関連のことを調べてみた2020年10月09日

Node.js関連のことを調べてみた2020年10月09日

no such file or directory, open に対処する

fsを使用して、上のディレクトリのファイルを取得しようとするとError: ENOENT: no such file or directory, open が出て、喚いていたが解決したので残しておく。

#ファイル内容
先に記しておくが、後の説明を読みながら解釈することを勧める。
### ディレクトリ構成

“`
test(親ディレクトリ)
├── src
│ └── fileManeger.js
├── config ←(ここに出力)

└── main.js

“`
### main.js
“`js
const fs = require(‘fs’); //nodeモジュール読みこみ
const fileManegerClass = require(‘./src/fileManeger.js’) //クラスファイル読みこみ
const fileManeger = new fileManegerClass(fs); //インスタンス化

const content = {“name” : “taro” , “age” : 30};

元記事を表示

こんな私でも大好きなジェイソン・ステイサムになれる。そう、Face APIならね。

Qiitaで「__ジェイソン・ステイサム__」というタグを作り、ひそかに育んでいるたわちゃんです♪

先日、なんと同じステイサムファンの方が「ジェイソン・ステイサム」タグに記事を投稿してくださいました!
CHECK▶ [Pythonでジェイソン・ステイサムライクに渡された画像をアスキーアートに変換する](https://qiita.com/genshibangou16/items/c1df676b4f7746630ec4)

嬉しくて、その日は浴びるように金宮ホッピー割を飲んじゃいました。えへ。

その勢いで、ステイサムシリーズの新作を作ってみたので、ご紹介します!

#「Be ステイサム」

今回作ったのは、誰でもステイサムになれる「__Be ステイサム__」です。

元記事を表示

@angular/cliのインストールからAngularプロジェクト作成まで

#はじめに
今回は@angular/cliのインストールをしてから実際にAngularプロジェクトを実行するまでを書いていきます!
Node.jsがインストールされている必要があるので、
まだインストールできていない人は[Node.jsのインストール方法(Windows)](https://qiita.com/masangular/items/2046f0b91c4c8cc9ada3)を見てね!

#目次
1. @angular/cliのインストール
2. ng new コマンドでAngularプロジェクトの作成
3. 実際にブラウザで確認してみよう!

#1. @angular/cliのインストール
* 「npm install -g @angular/cli」を実行するだけです

“`
$ npm install -g @angular/cli
“`
* インストールされているかを確認するには「ng –version」を実行し、下図のように表示されていれば成功!

“`
$ ng –version
“`
![angularcli_01.png](https://qiit

元記事を表示

スプレッド構文を制するものは反復可能オブジェクトを制する

#はじめに
ES2015から使えるようになり、徐々にコード内でも市民権を得てきた **スプレッド構文** 。
とても便利な構文なので備忘録もかねてまとめてみました。

#スプレッド構文とは
よく見るピリオド3つのコイツです。

`…`

組織によっては可読性等の問題から使用を控えるように教えられているところもあるかもしれません。
初めて見る方もいると思うので、リファレンスから説明を引用します。

>スプレッド構文を使うと、配列式や文字列などの反復可能オブジェクトを、 0 個以上の引数 (関数呼び出しの場合) や要素 (配列リテラルの場合) を期待された場所で展開したり、オブジェクト式を、 0 個以上のキーと値のペア (オブジェクトリテラルの場合) を期待された場所で展開したりすることができます。

###反復可能なオブジェクトとは
iterablesなオブジェクトとも言われます。
簡単にいうと `for..of` ループで動作できるものになります。

一番イメージがつきやすいのは配列ではないでしょうか。

###配列を展開?
簡単にいうと配列から中身を全部出してくれるという様なイメ

元記事を表示

Node.js(Express)のアプリ作成手順

# アプリ作成手順
Expressでアプリを作成するには、以下4つの手順があります。
1. アプリケーションのフォルダーを作成する。
2. コマンドを使い、npmの初期化をする。
3. expressをアプリケーションにインストールする。
4. プログラムのファイルを作成してソースコードを書く。

###1. アプリケーションのフォルダーを作成する。
“`
$ mkdir express-app
$ cd express-app
“`
###2. コマンドを使い、npmの初期化をする。
コマンドを実行し、npmの初期化をします。基本すべてEnterを押してデフォルトのままで大丈夫です。
一応下記に項目の内容を記載します。

|項目|説明|
|:–|:–|
|version|バージョン番号|
|description|プロジェクトの説明文|
|entry point|起動用のスクリプトファイル名|
|test command|テスト実行のコマンド|
|git repository|利用するGitリポジトリ|
|keywords|関連するキーワード|
|author|作者名|
|l

元記事を表示

nodemonのcrossOS設定

# nodemonとは

**他力本願**

– [nodemonとは?](https://qiita.com/mitsuhiro_K/items/429ca479b4e191bfea4d)
– [nodemon で Node.js サーバの再起動を自動化する](https://maku77.github.io/nodejs/env/nodemon.html)

# 問題

nodemonを利用してexpressを立ち上げようとしていました。

私のPCはmacOSでしたが、チームメンバーのWindows端末で同じように立ち上げようとしたところ、以下のようにJSONのSyntaxErrorが出てしまいました。
`SyntaxError: Unexpected token ‘ in JSON at position 0`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205002/95d2775c-b86d-7415-4b0f-8a8aeca72036.png)

nodemon.js

元記事を表示

Node.jsのインストール方法(Windows)

# はじめに
今回はNode.jsのバージョン管理ツールNodistを用いてのインストール方法を書いていきます!
後々@angular/cliを入れるのでNode.jsのバージョンを12.18.2で指定しています。
(Node.js公式サイトの現在の推奨版12.19.0だと@angular/cliのインストールに失敗したため)

# 目次
1. Nodistのインストール
2. Nodistを用いてのNode.jsのインストール

# 1.Nodistのインストール
* 下記サイトで「NodistSetup-v0.x.x.exe」をダウンロード

[Nodistのインストールサイト](https://github.com/nullivex/nodist/releases)
![nodistinstall2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/748651/9058942d-d732-010f-ed53-5e2ff4d1644a.png)

* インストーラーを起動

![nodistinst

元記事を表示

MacOS で Puppeteer が動かないとき

## エラー

最新の Puppeteer(v5.3.1) を Mac で動かそうとしたが、以下のようなエラーが出て起動ができなかった。(Node.js v14.0.0)

“`shell
(node:79152) UnhandledPromiseRejectionWarning: Error: Failed to launch the browser process!

TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
“`

## 原因

これは、Node.js v14.0.0 のバグ (extract-zip module)っぽくて Chromium ブラウザが正しい場所に解凍できてないのが原因とのこと。(MacOS は関係なかった)

## 解決

解決する方法は3つ。

1. Node.js v12 系にダウングレードする (非推奨)
2. Node.js v14.1.0 で修正されているので、それ以降のバージョンにアップグレードする (推奨)

元記事を表示

Node.js: stream.Readableを全部読み込む方法

この投稿では、Node.jsの`stream.Readable`の内容を全部読み込む方法を紹介します。

## stream.Readableを全部読み込む方法

`for await`を使う方法がシンプルです。

“`js
const { Readable } = require(‘stream’)
const stream = Readable.from([‘hello’, ‘world’])

async function readAll(stream) {
let data = ”
for await (const chunk of stream) {
data += chunk
}
return data
}

readAll(stream).then(console.log)
//=> “helloworld”
“`

## イベント駆動なコード

よく見かける方法として、`Readable`の`”data”`イベントを使うコードがあります:

“`js
const { Readable } = require(‘stream’)
const

元記事を表示

NEM Symbol(nem2) インストール

暗号資産仮想通貨クリプトよろしくNEM2のtestnetが2020/09の終わりごろより開始されました。

[Symbol のテストネットがローンチしました!](https://japan.nem.io/article/symbol-%e3%81%ae%e3%83%86%e3%82%b9%e3%83%88%e3%83%8d%e3%83%83%e3%83%88%e3%81%8c%e3%83%ad%e3%83%bc%e3%83%b3%e3%83%81%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%ef%bc%81/)

symbol, catapult, nem2、よくわからん単語がいろいろありますが、とりあえずよしなにセットアップできるブートストラップを利用して構築していきたいと思います。
https://github.com/nemtech/symbol-bootstrap

# tl;dr

symbol-bootstrap を利用してノードの構築を行っています。

# 環境

CPU Intel AVX2に対応(Haswell以降) fedora30

元記事を表示

“npm run generate”してもfaviconが変わらない時の対処法【nuxt.js】

# 1. バグ内容
以下のような流れでデプロイをしたのですが、「**Nuxtのデフォルトアイコンがファビコンとして表示されるエラー**」が起こりました。

1. `nuxt.js (vue.js)`でプロジェクトを作成(`SPA / PWA`で作成)
2. `favicon.ico`と`icon.png`をカスタムのアイコンファイルに変更
3. `npm run dev`でファビコンが変わっていることを確認
4. `npm run build`して、`npm run generate`して、静的フォルダ(`dist`)を生成
5. `firebase hosting`へデプロイ

ホスティングしたサイトのタブを見ると以下のようになりました。
変えたはずのファビコンがなぜかNuxtのデフォルトアイコンのままになっていました、、、。
default_favicon.pngNodejsのインストール方法(Windows)

まずはNode.js公式サイトへGO!
https://nodejs.org/ja/

![nodejs1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/748651/567faf27-0dbc-ca9a-3f30-e21005f7bf88.png)

「LTS 推奨版」と記載された緑色の左のボタンをクリック!
そうすると下図のようなインストーラーがダウンロードされます!
インストーラークリックして起動!

![nodejs3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/748651/eabe1b99-5858-f6f1-b232-7b1243ff6a42.png)

「Next」クリック!
![nodejs4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/748651/4f0ef96c-687d-3497-fb09-d43a6e87

元記事を表示

package.jsonの構造

#プログラミング勉強日記
2020年10月7日
package.jsonをよくわかっていないままnpmを使ってインストールしてたので、この機会に構造を学ぶ。

#package.jsonとは
 依存関係を示したファイルで、このファイルにプロジェクトに必要なパッケージの名前とバージョンを記述すればnpmが必要なパッケージをインストールする。
 package.jsonはnode環境のアプリの設定が書かれたファイルみたいなもので、Bundlerのようなもので、開発に使う依存ライブラリと本番で使う依存ライブラリを書くことができる。

 (RailsのGemfileみたいなものなのかな、、?[こちらの記事](https://qiita.com/mzmz__02/items/c8f5337f2991ccdd5d4f)でRailsのGemfileやGemfile.lockについて扱ってます)

#構造

“`json:デフォルトの構造
{
“name”: “express-app”,
“version”: “1.0.0”,
“description”: “”,
“main”: “

元記事を表示

Apex UpでNode.js × expressをAWS Lambda, API Gatewayに速攻デプロイしてみる

# はじめに
Node.js × expressのAPIのデプロイ先としてLambdaを使おうと思ったのですが
手取り早くデプロイして試したかったので、Apex Upを使ってみた。今回はその時の備忘録

# Upとは
APIや静的ウェブサイトをLambda × API Gatewayに`up`コマンドでデプロイしてくれるツールです。

# 使ってみる

Upのインストール

“`
curl -sf https://up.apex.sh/install | sh
“`

プロジェクト作成

“`bash
mkdir node-up
cd node-up
npm init
entry point: (index.js) app.js # 自分はapp.jsに変更
“`

expressのインストール

“`bash
npm install express
touch app.js
touch up.json # Upの設定ファイル
“`

app.js

“`javascript
const express = require(‘express’)
const app = e

元記事を表示

mongoseでfindして、そのobjectに値を追加できない | node.js

lean()使うとできるようになる。

“`
Item.findById(req.params.id).lean().exec(function(err, doc) {

});
“`
“`
doc.new = “Hi”
“`

https://stackoverflow.com/questions/18554350/unable-to-add-properties-to-js-object

元記事を表示

【備忘録】WindowsでNode.jsをアップデートする方法

#プログラミング勉強日記
2020年10月6日
Node.jsのバージョンをアップデートするときに少し詰まったので備忘録として記録する。
Windowsではnが使えないので、今回はnodistを用いてNode.jsをアップデートした。

#0. nodistをインストールする
 コマンドプロンプトで`nodist -v`を実行してnoditが使えるかどうかを確認する。使えない場合は、インストールする。以下のようになっていればインストールはできている。

“`:コマンドプロンプト
>nodist -v
0.9.1
“`

 [こちらのページ](https://github.com/nullivex/nodist/releases)からインストーラーをダウンロードしてインストールする。

![1005.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/642821/f46e18a2-3dc9-fb6a-c2a3-4ac68254ace0.png)

#1. Node.jsをインストールする
 次に`nod

元記事を表示

WebアプリへのLINEログイン実装で少しハマったところ

WebサイトへLambda+Node.js+APIGateWayを含めて、LINEログイン機能を実装しようとした。
参考にしたサイトが
**「WebアプリにLINEログイン機能を組み込む」**
[URL] http://xp-cloud.jp/blog/2019/11/27/6116/

非常に分かり易くて参考になったが、一部どうしても動かない(LINE認証画面が出てこない)為、エラーメッセージを眺めてみると、「stateが無い」といったことを言われているので、あらためて、LINE公式を確認すると

“`
“queryStringParameters”: {
“error”: “invalid_request”,
“error_description”: “‘state’ is not specified.”
},
“`

stateというパラメータは「必須」ということだった。

![20201006-1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509691/bef57cfc-93b9

元記事を表示

VagrantにHerokuを入れる際に起きたエラーと解決方法と参考記事

#はじめに
ドットインストールで構築したローカル環境でアプリを開発し、公開するため、いざherokuを入れようとしたらエラーが起きまくりました。
[【初心者向け】railsアプリをherokuを使って確実にデプロイする方法【決定版】](https://qiita.com/kazukimatsumoto/items/a0daa7281a3948701c39#%E8%87%AA%E5%88%86%E3%81%AE%E7%92%B0%E5%A2%83)
この記事を参考にしていました。
しかし、herokuを入れる際に、この記事の開発環境が全く違うため、その先に進めずエラーと戦うことになりました。

#パスがない問題
エラー解決に必死だったため、エラーのコピーは取っていませんが、このようなエラーがでたと思います。

“`
↓エラーの最後の文
Your path is missing /usr/local/bin, you need to add this to use this installer.
“`
`/usr/local/bin`のパスが無いと言われているため、パスを作る必要があ

元記事を表示

Amazon Echo で Google Drive 上の mp3 を 再生する (その2)

# はじめに

[前回の記事](https://qiita.com/hokonin/items/7c497a9537032dbb7a46) のコード部分を説明します。
AudioPlayer のリファレンスは[こちら](https://developer.amazon.com/ja-JP/docs/alexa/custom-skills/audioplayer-interface-reference.html)。

# AudioPlayer の使い方(考え方)

プレイリストの曲をすべて再生することだけを考えるなら、最初に全ての曲をキューに登録してしまうという使い方もあります。しかし後に実装する次の曲、前の曲、シャッフル再生などは任意のタイミングで指示され、登録していたキューが無駄になることもあるため、以下の考え方で使用します。

* キューには 1 曲しか登録しない
* 次の曲、前の曲、曲の終了、などのリクエストにより、次に再生する曲をキューに入れ替え登録する
(再生中の曲をそのままに登録する方法と、再生中の曲を含めて入れ替える方法があり使い分ける)
* 機能に必要な情報はトー

元記事を表示

node.js ✖️ express.js ✖️ mysql のwebアプリheroku公開までの方法

#この記事でできること
node.jsとexpress.js, mysqlを使用したアプリをherokuで公開することができるようになる。
特にnode.jsをherokuでデプロイする時にどうmysqlと接続すれば良いか、かなり詰まったのでこの記事
にまとめる。

#参考記事

基本のデプロイの参考記事
[Vue.jsで作ったアプリをHerokuにデプロイ](https://qiita.com/kottyan/items/dbc1edb82e8562235fac)

herokuでアップロードするファイルでmysqlを使用する場合の参考記事
①[Tutorial: How to Create a MySQL Database with Heroku](https://www.youtube.com/watch?v=aEm0BN493sU)

②[Connecting MySql and NodeJS on a Heroku Server (Github code)
](https://www.youtube.com/watch?v=2OGHdii_42s)

①はherokuでc

元記事を表示

OTHERカテゴリの最新記事