Node.js関連のことを調べてみた2021年01月21日

Node.js関連のことを調べてみた2021年01月21日

2021年、gulp-sassをインストールしようとして躓いた

この度完全新規のコーディング案件に携わることになったため、久しぶりに1年前まで使用していたpackage.jsonを引っ張りだし`npm intall` を実行したところ、gulp-sassのインストールでエラーを吐いてしまい躓きました。
3時間調査したり悩んだりした結果、解決しましたので備忘録として残します。

# エラー状況
Windows10環境で `npm install gulp-sass –save-dev` すると、下記の通りログが出力され、インストールできない。
私のPCにはNode.jsの【最新版(v15.5.0)】がインストールされておりました。

## エラーのログ
“`cmd:cmd
PS G:\data\html> npm install gulp-sass –save-dev
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.

> node

元記事を表示

Node.jsのmodule.exportsの仕組みを理解する

# はじめに

こちらは、[エンジニアの新たな学びキャンペーン](https://qiita.com/official-events/716dbcb617afc83e9555)に向けた記事となります。

[Node.js + Express で作る Webアプリケーション 実践講座](https://www.udemy.com/course/web-application-with-nodejs-express/)を参考にしながら、
`module.exports`について理解を深めたことを記事にします。

# 実行環境

– Node.js v12.16.3
– Express 4.16.1
– 10.4.11-MariaDB

# 本記事の概要

私は今現在、Webアプリケーションの開発をしていますが、ある問題を抱えています。
その問題とは、1つのファイル内のソースコードが膨らみすぎて可読性が落ちているというものです。
これはデータベースへの接続、ミドルウェアの呼び出し、レスポンスの処理内容など、あらゆる情報を`app.js`内に書き込んでいることに由来します。

そこで、`app

元記事を表示

MQTTによるIoT制御を無料でやってみる

# 前置き

※途中まで頑張りましたが、断念したため供養記事となります。m..m

## 背景
IoTの制御としてArduino, Raspberry Piなどを用いて各種センサー情報を収集、又はアクチュエータの制御などを想定する。

## MQTTとは

– ネットワークプロトコルの一種
– HTTPと比較すると以下が特徴的
– 一対多, 多対多で情報のやりとりが可能
– リアルタイムでの通信が可能
– ヘッダー情報が少なくHTTPの10分の1と軽量 など

詳細はIBMのサイトに記載されています。
[MQTT の基本知識](https://www.ibm.com/developerworks/jp/iot/library/iot-mqtt-why-good-for-iot/index.html)

基本的に Subscriber(受け手), Publisher(送り手), Broker(中継点)の3者で構成します。
![base.png](https://qiita-image-store.s3.amazonaws.com/0/172077/c0cd5daa-3e2f-ce35-

元記事を表示

node.jsやnodebrewなどをインストールし.bash_profileで設定完了→次の日できなくなってたの巻/Mac OS X 10.15

正確には次の日ではなくターミナル落として再度開いたら、でしたが、、
mac OS 10.15での環境構築のお話です。
nodeやnodebrewをインストールし、bash_profileに環境設定pathを通します。

homeの中の「.bash_profile」 ファイルには

“`shell
export PATH=/usr/local:$PATH
export PATH=$HOME/.nodebrew/current/bin:$PATH
“`
と記述済み。念のためターミナルでも

“`shell
export PATH=$HOME/.nodebrew/current/bin:$PATH
“`

と実施。

で、ターミナルで
node -v
などを実行してちゃんとバージョンが見れておりました。

ーーーーーーーーー

が、時間を開けてもう一度ターミナルを開き、同じ操作をすると
「zsh: command not found: node」となります。

“`shell
export PATH=$HOME/.nodebrew/current/bin:$PATH
“`

をタ

元記事を表示

[Node.js]docker-compose upで気楽に開発環境構築

# 前提
– 筆者はMac環境(試してないがWindowsでも動くと思う)
– dockerコマンドが使える状態
– npmコマンドが使える状態
– nodeコマンドが使える状態
– Dockerの基本的知識(イメージやコンテナの概念)を有する

# 対象
– 環境構築を手っ取り早くしたい人
– Node.jsをdockerで動かしたい人

# 環境
“`bash:bash
$ docker -v
Docker version 20.10.2, build 2291f61

$ npm -v
6.14.5

$ node -v
v13.11.0

$ pwd
~/{project_name}
“`

# ファイル構成
“`bash:project
{project_name}
├─ node_modules
| └─ …
├─ src
| └─ index.js
└─ docker-compose.yml
└─ Dockerfile
└─ package.json
└─ package-lock.json
“`
`node_modules`の中身は割

元記事を表示

Azure IoT Hub に Node.js で subscribe

Ubuntu 20.10 で確認しました。

“`js:azure_subscribe.js
#! /usr/bin/node
// —————————————————————
// azure_subscribe.js
//
// Jan/19/2021
//
// —————————————————————
‘use strict’

const { EventHubConsumerClient } = require(“@azure/event-hubs”);

const eventHubsCompatibleEndpoint = “sb://ihsuprodkwres017dednamespace.servicebus.windows.net/”

const eventHubsCompatiblePath = “iothub-ehub-iot-aa-344012-58f0095d47”

const

元記事を表示

Express Tour #2 Express application generator

素早くExpressアプリケーションのスケルトンを作るために、express-generatorを使いましょう。

##検証環境
lubuntu 20.04
node.js 14.15.3

## express-generator のインストール

まず下記コマンドでexpress-generatorをグローバルインストールします。

“`
$ npm install -g express-generator
“`

## アプリの作成

次にアプリケーション用のディレクトリを作ってそこに移動しましょう。

“`
$ mkdir exg-test
$ cd exg-test
“`

express -h コマンドを打つと各オプションについて確認できます。

“`
$ express -h
“`

実行結果

“`
Usage: express [options] [dir]

Options:

–version output the version number
-e, –ejs add ejs

元記事を表示

Node.jsをWindows10にインストールして詰まったこと

#背景
AWSでNode.jsを触ってみようと思い立ち、まずはAWSの開発者ガイドに従って開発環境を構築してみた。
## 参考にしたURL
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/nodejs-devenv.html
https://qiita.com/taiponrock/items/9001ae194571feb63a5e

#詰まったこと
 Node.js&npmをインストールしたので、動作確認(npm start)するとエラーが出てしまった。

“`
node:internal/modules/cjs/loader:928
throw err;

Error: Cannot find module ‘http-errors’
Require stack:
– hoge\app.js
– hoge\bin\www
“`
##エラーの出た環境
 OS:Windows10 Pro(バージョン2004 OSビルド19041.746)
 node.jsインストーラ:node-v15.6.0-x64.

元記事を表示

Node.jsでAzure IoT Hubにテレメトリを送信するサンプルコードを動かすメモ

## はじめに

[デバイスから IoT ハブに利用統計情報を送信してバックエンド アプリケーションで読み取る](https://docs.microsoft.com/ja-jp/azure/iot-hub/quickstart-send-telemetry-node)を参考にサンプルコードを動かしてみます。
[![Image from Gyazo](https://i.gyazo.com/2423a85698f478493dd983f957020b80.gif)](https://gyazo.com/2423a85698f478493dd983f957020b80)
接続文字列はAzure CLIを使わずに、コンソールから取得します。

Azure IoTについては[こちら](https://docs.microsoft.com/ja-jp/azure/iot-hub/about-iot-hub)を参照。

## 準備

– Node.jsをインストールする(今回は`v14.1.0`を使用)
– [サンプルコード](https://github.com/Azure-Samples/a

元記事を表示

JavaScriptフレームワークのプロジェクト作成コマンドを列挙した

## はじめに

JavaScript のフレームワークには npm や Yarn などのパッケージマネージャーを使い簡単に依存関係を解決し、プロジェクトの雛形を作成してくれるコマンドが用意されていることが多いです。
スクラッチでの作成もできますが、コマンドラインツールによって簡単にプロジェクトの自動作成、開発サーバーでの実行ができ便利だと感じたため、有名な JavaScript フレームワークの雛形作成コマンドを備忘録として挙げてみます。

各コマンドの `` の部分が作成されるディレクトリ名、デフォルトのプロジェクト名になります。作成するプロジェクトに応じて適宜置き換えてください。

公式のドキュメントに沿って基本となるコマンドをまとめています。プロジェクト作成時に対話形式で設定可能な項目については記事内で扱いません。項目の説明や、利用できるオプションについては公式のドキュメントを参照のうえ実行をお願いします。

## 前提条件

– node.js がインストールされていること(バージョン 8 以降、最新の LTS バージョンを推奨)
– npm

元記事を表示

Jestのインストール〜実行の流れ

#Jestインストール〜実行まで

####①Jestをインストール

“`
npm install –save-dev jest
“`

####②基本設定ファイルの作成
1.node_modules/.binに対してinitで作成。

“`
./node_modules/.bin/jest –init
“`

2.基本的にEnter連打でok

“`
The following questions will help Jest to create a suitable configuration for your project

✔ Would you like to use Jest when running “test” script in “package.json”? … yes
✔ Would you like to use Typescript for the configuration file? … no
✔ Choose the test environment that will be used for testing › node
✔ Do

元記事を表示

firebaseコマンドが実行できない時の対処法

###1.firebaseコマンドを実行

firebase loginコマンドを実行するが、反応しない状態↓

“`
masahiro@MacBook-Air chatbot % firebase login
zsh: command not found: firebase
“`

###2.PATH を通すコマンドを入力
export PATH=$PATH:`npm bin -g`を実行

“`
masahiro@MacBook-Air chatbot % export PATH=$PATH:`npm bin -g`
(not in PATH env variable)
“`
###3.再度firebaseコマンドを実行

firebase loginを実行→login完了できていることを確認

“` 
masahiro@MacBook-Air chatbot % firebase login
Already logged in as ○○○○@gmail.com
“`

元記事を表示

Material-ui インストールコマンド

##Material-uiのインストールコマンド

### 下記コマンドを実行
“`
npm install –save @material-ui/icons @material-ui/core @material-ui/system @material-ui/styles
“`

####意味
@matesial-ui/core→Material-uiを入手する
@material-ui/icons→公式マテリアルアイコンを使用できる
@material-ui/system→”style functions” と呼ばれる低レベルのユーティリティ関数を提供し、強力な設計システムを構築する
@material-ui/styles→Material-UIコンポーネントを使用していないReactアプリケーションのスタイルを設定する

公式ドキュメントはこちら
https://material-ui.com/ja/

元記事を表示

Repl.itでBotの機能を開発しまくったお話

##:star:まずは皆様にご挨拶
**皆様、初めまして!!**:tada:
Repl.itでDiscordBotを開発している『**`姉だぁぁぁぁ`**』と申します。
私は、まだプログラミングを始めたばかりの学生で、このサイトを利用して投稿したりするのは**本当に初めてですが、**
**良い記事の発行や、Botのプログラミング能力を高めたら**と思い、このアカウントを作りました。よろしくお願いします。:bow:

では、本編に参りまっす!
#:star:JSで覚醒した沢山の機能を作ってみる
###:one:リアクションを使って、ページネーションを作成する。
ページネーションを早く、簡単に作成したい場合は**下記のリンクを参照してください。**
(InkoHXさん、ありがとうございます!)
> [**リアクションを使って簡単にページネーションを作成する Discord.js 専用のパッケージ**](https://scrapbox.io/discordjs-japan/%E3%83%AA%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%8

元記事を表示

FirebaseのFunctionsで取り敢えずAPIを作ろう1

#FirebaseのFunctionsでAPIを作ろう その1
GoogleのFirebaseってめちゃ便利ですよね,PHP派の私もいい加減あれこれ触ってます.
最近はNuxt使ってSSRアプリをHosting+Functionsにデプロイしたりしてますが
いい加減実用的なものを作るべき段になりました.
備忘録もかねて作業内容をつらつらします.

*今回はAPIまで行きません
*随所に偏見が入ってますが見逃してください.

##~エミュレータの設定編
取り敢えずエミュレータの設定まで記事にします.
API的に動くところが一応見えます.

##目的
APIの定義は非常に広いと思いますが,ここでは取り敢えずDBに接続してデータを入れたり貰ったりするサーバ側のなんかと定義します.
で,いい加減PHP以外でサーバレスで何とかしたいということで,FirebaseのFunctions使っていきます.
DBはGCPのCloud SQLのMySQL8系です.
今回はあんまり関係ないです.
そこまで進んだら続編出すなり続き書くなりします.

##環境
OS:Windows10
エディタ(IDE):PHP

元記事を表示

【Node.js Sequalize】 Unable to find migration: エラーの解決法

マイグレーションの誤操作により、マイグレートをかけた時に、削除したマイグレーションファイルが引っかかってきて、下記の様なエラーが表示された場合の解決法。

“`
ERROR: Unable to find migration: 20210105140820-create-user.js
“`

一旦,migrationsディレクトリの中に表示されたファイルを作成する。

“`20210105140820-create-user.js

‘use strict’;

module.exports = {
up: function (queryInterface, Sequelize) {
return Promise.resolve()
},

down: function (queryInterface) {
return Promise.resolve()
}
};
“`

全てのマイグレーションをロールバックする。

“`
npx sequelize-cli db:migrate:undo:all
“`

先ほど作成したファイルを削除する

元記事を表示

[Node.js] 2021年版サービス アカウント認証コード with ドメイン全体の委任

# はじめに

2020年10月に G Suite が Google Workspace にリブランドされました。
それとは全く関係ないですが Google Classroom や Google Chat などの Google Apis を Node.js 用クライアントである [googleapis](https://www.npmjs.com/package/googleapis) を使って呼び出す際に、サービスアカウントに対してドメイン全体の委任を行い OAuth 認証を行う必要があったのですが、情報を見つけるのに大分彷徨ってしまったり、見つけたコードの記法が少々古かったり、ポイントとなる `subject` の指定方法がやや不適切だったりしたので備忘を兼ねてコードを残しておきます。

# 認証コード

一応 googleapis のバージョンは 67.0.0 です。古いバージョン(39.2.0とか)でも動きます。

“`JavaScript
const { google } = require(‘googleapis’);
const credentials = requir

元記事を表示

Amazon Transcribeをストリーミングで実行する

# はじめに

– [Amazon Transcribe](https://aws.amazon.com/jp/transcribe/) は音声データをテキスト化する(文字起こしとも言われる)サービスです
– 音声ファイルを準備してバッチ処理するタイプと、音声をストリーミングして、リアルタイム(逐次的に)処理するタイプがあります
– 日本語については、2020年11月にリアルタイム処理タイプに対応しました
– AWSコンソール上ではブラウザの音声をTranscribeへストリーミングすることで機能を確認することができます。レスポンス良くテキスト化されます
– 実際の業務等ではマネジメントコンソールで使うことはなく、アプリケーション等に組み込むことになると思います
– ということで、サンプル的にストリーミング処理を実装してみました
– そして自分への備忘も兼ねて処理内容の解釈を記述します
– なお、SDK v3はpreviewなので、これからリリースされる正式バージョンと異なる(動作しない)可能性があります

# 環境

– Ubuntu 20.04 on WSL2
– Node

元記事を表示

Node.js × Expressで始めるGraphQL入門

# 概要
GraphQLを初めて実装してみた時の手順と、サンプルソースコードを記載しています。

# 環境
– macOS Big Sur 11.1
– node v14.12.0
– yarn 1.22.10
– express 4.16.1
– Docker version 19.03.13
– docker-compose version 1.27.4

# サンプルソースコード
[hayatoiwashita/express-graphql](https://github.com/hayatoiwashita/express-graphql)

# 手順
## 1. プロジェクトの雛形を作成
express-generatorを使用した。
`–git`オプションは`.gitignore`を追加するためのオプション。

“`
$ express –view=pug –git express-graphql
“`
参考: [Express のアプリケーション生成プログラム](https://expressjs.com/ja/starter/generator.html)

元記事を表示

Azure IoT Hub に Node.js で publish

Ubuntu 20.10 で確認しました。

ライブラリーのインストール

“`bash
sudo npm install -g azure-iot-device-mqtt
sudo npm install -g azure-iot-device
“`

“`js:azure_publish.js
#! /usr/bin/node
// —————————————————————
// azure_publish.js
//
// Jan/20/2021
//
// —————————————————————
‘use strict’
var devicemqtt = require(‘azure-iot-device-mqtt’)
var device = require(‘azure-iot-device’)
const dotenv = require(‘dotenv’)
//
// —

元記事を表示

OTHERカテゴリの最新記事