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

Node.js関連のことを調べてみた2022年05月10日
目次

【Ubuntu22.04】React開発環境構築手順【React】

# はじめに

以下にUbuntu22.04環境におけるReact開発環境構築手順を纏める。
Ubuntu22.04では2022年5月9現在、aptリポジトリのnodejsバージョンは12.22.9である。
本記事では最新版のnode.jsをインストールするための手順を含む。

:::note warn
**「4. node.jsの最新版のリポジトリをインポート」** を実施しない場合は最新版のnodejsがインストールされないので注意する。
:::

# インストール手順
1. パッケージ一覧の更新
“`bash
$ sudo apt update -y
“`

2. パッケージ更新
“`bash
$ sudo apt upgrade -y
“`

3. curlのインストール
“`bash
$ sudo apt install curl -y
“`

4. node.jsの最新版のリポジトリをインポート
“`bash
$ curl -fsSL https://deb.nodeso

元記事を表示

npmのCLIコードリーディングをできるようになるためにnpm packageを作ってみる

# はじめに
先日、TypeORM(TypeScript製のORM)のCLIを使ってデータベースの migration を公式ドキュメントに従って進めていたところ途中でエラーが出て進めなくなりました。そこでTypeORMのCLIのコードの中身を読もうとしたところ、エントリーポイントが分からずどこを読めばいいのか分かりませんでした。

今後同じような状況に陥った際にCLIのコードリーディングがある程度できた方がいいと思い、npm のpackageを作って公開し、使ってみることにしました。CLIコードリーディングのとっかかりを掴むことができることを本記事では目的としています。

# 対象読者
– 自作のnpm packageの作り方が分からない
– CLIのコードリーディングの仕方が分からない
– npxコマンドを実行するとライブラリのどのコードが実行されるのか分からない

# 最小構成のnpm packageを公開する
コマンドラインで`hello`というコマンドを実行すると、`hello world!!`と表示されるコマンドラインツールを作成したいと思います。

npm でコマンドライ

元記事を表示

【実用編】discord.js v13 ユーザー・メンバーをBAN・KICK・UNBAN

## 前書き
Discordは世界的に有名なンスタントメッセージ・ビデオ通話・音声通話・VoIPフリーウェアです。
そのため、日々いろいろな個性あふれるユーザーが使用します。
中には、**毎日自分の性癖を暴露するのが趣味な方**、**小学3年生レベルの下ネタを1秒に数十件も送るのが興奮してやまない方**。
などなど様々な方がいます。自分のサーバーに**危険な危ないデンジャラスなユーザーを入れない、追放するためのコマンド**の作成方法を解説します。

## ユーザーとメンバー、おいしいのどっち?
タイトルに「ユーザー・メンバー」とありますが、「**ユーザーとメンバーなんて何が違うねん、ちょっと辛いのがユーザーって感じだけじゃね?**」と思う方も多いことでしょう。
discord.jsでは**ユーザーとメンバーには明確な違い**があります。スパイスだけの違いではありません。

### ユーザー
* Discordを使用しているアカウント(ユーザー)を指す
* 基本的なアカウント情報(ユーザーネーム、ユーザーID等)を取得できる
* **インド産のスパイスを使用**

### メンバー
*

元記事を表示

Electron から Nightmare を使う

Electron アプリケーションから Nightmare を使いたい時の方法。
スクレイピング中に動的HTMLが取れない場合などに。

## Eramthgin を使う

Eramthgin を使うとちゃんと動く。
https://www.npmjs.com/package/eramthgin

`npm install eramthgin`

## メインプロセスで呼び出す

基本的に nightmare と同じ。

“`main.js
const nightmare = require(‘eramthgin’);
const n = new nightmare({
show: true
});
“`

## preload.js に渡して処理を書く

main.js で global を経由して preload.js に渡す。

“`main.js
const mainWindow = new BrowserWindow({
width: 1200,
height: 600,
webPreferences: {
preload: path.join(__dirn

元記事を表示

[Tauri]アーキテクチャまとめ

# Tauriのアーキテクチャまとめ
Electronのようにフロントエンド技術を用いてデスクトップアプリケーションを作成できる[Tauri](https://tauri.studio/)ですが、2022年4月にStable版をリリース予定です。
と思ってこの記事を作っておいてリリースされたら投稿しようと思っていたのですが、記事投稿の2020/5/8時点でrc10で待ってられないので、リリース前の確認ということで、公式サイトの[Docs](https://tauri.studio/docs/getting-started/prerequisites)にあるアーキテクチャをまとめて確認しまておきしょう。

## Tauriアーキテクチャ
ここでいう「アーキテクチャ」とは、Tauri自身のTauri CoreやWryなどといったTauriの構成を指すものではなく、Tauriを用いたデスクトップアプリケーションを作成する手法のことを言います。
PatternsとRecipesからなり、PatternsはTauriのRustサイド(Tauri Core)とJavaScriptフロントエンドとの

元記事を表示

Windowsでnodejsの環境構築【安定感抜群】

# あらすじ

Windowsのローカル環境でnodejsを使って開発を行いたいときのベストプラクティスを紹介します。

dockerやWSLを使うのが理想ですが、「マシンスペック的にVMを起動すること自体がおっくうな場合」もしくは、「Windows Server Core などを本番環境に使用する予定」などのための記事とします。

::: note info
2022年4月現在の最新情報です。
:::

# 前提

下記ソフトウェアがインストール済みとします。

– Windows 10 or Later
– Powershell 7 or Later

::: note warn
もし、他のnodejs用のバージョン完了ツールや、nodejs公式のインストーラーを使用したインストールが行われている場合、事前に全て消しましょう。特に、環境変数は厄介なので、慎重に確認して消しましょう。筆者は、ProgramFilesが2個あることに気が付かず時間を無駄にしました。
:::

# やること

やることは、下記の通りです。

– `nvm`のインストール
– `node`のインストール

元記事を表示

Node 18 に Test Runner なるものがあったので試してみた(Experimental)

Devon Govett さんのツイートに「おおっ!?」となったので Test Runner を試してみました。

構成の話などは、「[【概要編】の記事](https://qiita.com/youtoy/items/db6d34a9985eb182042f)」をご参照ください。 

## 準備手順
この後に、いくつかのプログラムのソースコード等が出てくるのですが、それらをどのような順番で動作させていく

元記事を表示

Python の input( ) と同様の挙動を JavaScript, Node.js で再現する

私と同じ悩みを持つ方のために、共有させていただきます。
以下のQAにてご指導頂いた内容ですので、経緯等は以下のページを参照ください。

https://qiita.com/watanabe-tsubasa/questions/07131f97fa0a48897ab2#answer-7d6b619e11e5876f6023

## 動作

実行すると数字1を聞かれます(今回は10を入力)。

入力すると数字2を聞かれます(今回は20を入力)。

元記事を表示

Node16 + Cloud Functions をDocker環境に構築

# はじめに
Cloud Functionsをデプロイするまでの環境をDockerで構築する。今回は環境構築が簡単に済む Node.js を選択した。
公式より Node.js 16(推奨)とあるので(2022/05/01)バージョンは Node.js 16 選択した。

https://cloud.google.com/functions/docs/concepts/nodejs-runtime?hl=ja
# 概要
### 前提条件
* GCPにプロジェクトが存在し、Cloud Functions使用できる状態になっている
* Docker Desktopを使用

### 手順
1. docker-composeを使用してコンテナを作成する
2. firebase-toolsを使用して初期設定
3. Cloud Functionsにデプロイする

# Docker環境構築
imageは node:16-alpine を使用し、firebase-toolsをインストールする。
```:Dockerfile
FROM node:16-alpine

ENV APP_HOME /app

元記事を表示

MPD管理下の曲をコマンドで操作する。(またはWEB操作、GoogleHomeで操作)

#はじめに
●MPD管理下の曲をコマンドで操作する。
WEB操作、GoogleHome操作は下記の記事を参考に修正してください。
[WSLのUbuntuでPC内の音楽データをGoogleHomeで操作する](https://qiita.com/kobbeko/items/04954bc47e407c07d9e7)
[WSLのUbuntu環境でPC内音楽データをWeb操作する(おまけでyoutube音楽とGooglehomeで伝言)](https://qiita.com/kobbeko/items/f4d47c817309bda1e56c)

#環境
●WSLのUbuntu環境で構築しています。ラズパイでも問題ありません。
●mpd,mpc,mplayerをインストールする

#PC内音楽データを再生するプログラム(pc2play.js)
●単体で起動する方法
$node pc2play.js 松田聖子&赤いスイートピー(artist&title)

const exec = require('child_process').exec;
//値取得
cons

元記事を表示

#Scratch 3.0(公式)などで独自拡張機能を使わない外部との通信【概要編】(ブラウザの開発者ツールのコンソール、JavaScript、WebSocket が関連、 #toio でも利用可)

デフォルトでは外部と自由に通信をする機能がない
 「公式版の Scratch( https://scratch.mit.edu/ )」
や、
 「toio Do( https://toio.github.io/toio-visual-programming/beta/?category=do )」
を、以下のようにリアルタイム通信で連動させることができたりする仕組みの話を、この記事で取り扱います。詳細は続きの記事で書こうと思っていて、今回は概要を記事化してみます。

今回の仕組みに関係してくる主なキーワードは、以下のとおりです。

- ブラウザの開発者ツール(の中のコンソール)
- JavaScript(Node.js を使うもの、ブラウザ上で動かすバージョン)
- リアルタイム通信(WebSocket のサーバー・クライアント)

ちなみに、1つ前に書いていた以下の記事の内容も、今回の話に少し関連していたりします。

●#Scratch 3.0 のキー入力イベントをブラウザの

元記事を表示

HerokuでGoogle認証情報・環境変数を扱う方法

# HerokuでGoogle認証情報・環境変数を扱う

## 前置き
通常ローカル開発環境では.envファイルにkey:valueペアの定数を定義したり、Google APIの認証情報をJSONファイルに保持していたりするが、HerokuなどのPaaSでGithubリポジトリ連携する場合、資格情報を公開しない状態でアプリ側で扱えるようにする必要がある。

Google資格情報のJSONファイルの一例:
![gcredentials_hidden.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2395846/7955b169-1fcc-9a17-4adc-4df7c327017c.png)

```bash
$ heroku config:set GOOGLE_CREDENTIALS="$(< /home/charles/Programs/heroku/google-credentials.json)" --app "myapp" ``` ## Herokuでの確認 のSettingsタブ > Con

元記事を表示

CloudFunctionsのデプロイエラーの対処方法 error fetching storage source: generic::unknown: retry budget exhausted (3 attempts): fetching gcs source: unpacking source from gcs: source fetch container exited with non-zero status: 2

こんにちは。[virapture株式会社](https://virapture.com)の[もぐめっと](https://mogmet.com)です。

本日はCloudFunctionsのトラブルシューティング記事になります。

結論から言うとnodeのバージョンを変えよう!というお話になります。

## 問題の発生

ある日M1 macの環境でCloudFunctionsをデプロイしようとしたら下記エラーでデプロイができませんでした。
```
functions[onCreate(asia-northeast1)]: Deployment error.
Build failed: Build error details not available.Please check the logs at https://console.cloud.google.com/cloud-build/builds;region=asia-northeast1/xxx-xxx-xxx-xxx-xxx?project=xxx. Please visit https://cloud.google.com

元記事を表示

JavaScriptでAzure Table Storageを操作する

JavaScriptでAzure Table Storageを使用するには、2022年5月現在、[**@azure/data-tables**](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/tables/data-tables)というライブラリを使用します。(従来は、[**azure-storage**](https://github.com/Azure/azure-storage-node)というライブラリを使用していましたが、現在は非推奨となっています。)

# 利用可能な環境

[GitHub](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/tables/data-tables#prerequisites)には、

> Currently supported environments:
> * LTS versions of Node.js
> * Latest versions of Safari, Chrome, Edge and Firefo

元記事を表示

OTHERカテゴリの最新記事