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

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

expressの基礎をまとめる1

node.jsを使用するときによく使うexpressの基礎をまとめる。

expressとはnode.jsのフレームワークである。

最初に、nodeのプロジェクトを開始する。

“`
npm init -y
“`

“-y”を加えることでプロジェクト作成時、質問を省略することが出来る。

そして、nodeomnとexpressをインストールする。

“`
npm i express nodemon
“`

すると、package.jsonファイルの”dependencies”に書き加わる。

“`
“dependencies”: {
“express”: “^4.18.2”,
“nodemon”: “^2.0.20”
}
“`

そして、server.jsを作成してインスタンス化したモジュールを呼び出す。

“`
const express = require(“express”);
const app = express();
“`

expressを呼び出して、インスタンス化のような形でappという変数に入れていく。

“`
const PO

元記事を表示

Docker alpineベースの環境でnode-gypのエラーが出た

# はじめに

Dockerでnodejsの環境をalpineベースで作成し、
`supabase-js`をインストールしようとしたところ以下エラーが発生したのを修正した時のメモ。

# エラー時の状況・原因・解消方法

## 発現時の状況

“`dockerfile:Dockerfile
FROM node:18.13-alpine3.16

RUN apk update

WORKDIR /var/www/app

USER node

CMD [“yarn”, “dev”]
“`

“`yaml:docker-compose.yml
version: ‘3’

services:
app:
build: .
ports:
– “8080:8080”
volumes:
– “./front:/var/www/app”
tty: true
“`

“`zsh
$ docker-compose exec app sh
/var/www/app $ yarn add @supabase/supabase-js

元記事を表示

Creating vector tiles from Esri Feature Service using nodejs and tippecanoe

# Introduction
This article is written for my colleague M.L. and G.L.S. This article explains how I made vector tiles from Esri Feature services.

Originally, this method was developed in December 2022 and that effort was summrized in this article (in Japanese): https://qiita.com/T-ubu/items/17cb65754a54aa5ffb21

If you have the data in GeoJSON, just use it because it is much easy. This is a work flow for a case that you only have an access to the data as FeatureService.

This is a part of my wo

元記事を表示

GitHub Actionsのcronが60日で止まる件対応をしてみる

こちらの記事になるように60日間動きがないとcronが止まってしまう模様です。

https://zenn.dev/hellorusk/articles/fc6d4696f5b269

定期的に定期実行処理が止まってる。。

## 現在時刻をもとにファイル作成してGit Pushしてみる

– 現在時刻取得
– JSONファイル作成
– GitHub Actions側からGit Push

をして定期実行すれば常に動き(commitやpush)がある状態になりそう。

## JavaScriptの処理でJSONファイルを書き出す

現在時間を取得してJSONに書き出す処理です。
時間はday.jsを使用

“`js

const fs = require(‘fs’);
const LOGFILE_NAME = `log.json`;

//日本時間
const dayjs = require(‘dayjs’);
const utc = require(‘dayjs/plugin/utc’);
const timezone = require(‘dayjs/plugin/timezo

元記事を表示

nodebrewを使用したNode.jsのバージョン切り替え

Node.jsを使用していると、バージョンダウンさせたい時ってありますよね。
nodebrewでバージョン管理する場合、以下の方法でバージョンを切り替えることが可能です。

以下コマンドで、切り替え可能なバージョンを確認します。
`nodebrew ls-remote`
以下のように切り替え可能なバージョンが表示されます。
~~~
v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6

v0.1.0 v0.1.1 v0.1.2 v0.1.3 v0.1.4 v0.1.5 v0.1.6 v0.1.7
v0.1.8 v0.1.9 v0.1.10 v0.1.11 v0.1.12 v0.1.13 v0.1.14 v0.1.15
v0.1.16 v0.1.17 v0.1.18 v0.1.19 v0.1.20 v0.1.21 v0.1.22 v0.1.23
[…]
io@v3.0.0 io@v3.1.0 io@v3.2.0 io

元記事を表示

npmでプロジェクトを作成する

nvmでNode.jsをインストールし、
その後npmでVue.jsプロジェクトを作成した。

## 手順

#### 新しいプロジェクトの作成
latestだけでもOK、コマンド実行後にプロジェクト名、使用するテンプレート、言語を選択する。
viteはビルドツール。
“`bash
npm init vite@latest [プロジェクト名] — –template vue
“`

#### 作成したプロジェクトフォルダへ移動
今回はfirst-vue-appという名前のプロジェクトを作成したので、そこに移動する。
“`bash
cd first-vue-app
“`

#### Vue.jsを動作させるためのパッケージをインストール
“`bash
npm install
“`
自動的に色々と作成してくれる。
#### 開発サーバを起動
“`bash
npm run dev
“`

元記事を表示

Node.jsの基礎をまとめる1

node.jsとはJavaScriptでサーバーまで作れるよという設計手法のことである。

JacaScriptやReactというのはクライアントサイドをつくるものである。

そして、非同期処理を得意とするため、リアルタイムの処理を得意とする。処理の速さも優秀である。

プロジェクトのディレクトリを作成したら、以下のコードを入力する。

“`
npm init -y
“`
これを行うとpackage.jsonが作成される。これによって、作成するプロジェクトの依存関係を管理してくれる。

そして、モジュールをインストールするやり方を示す。
httpモジュールをインストールするには以下のように入力する。

“`
npm install –save-dev http
“`
そうすると、package.jsonのdevDependenciesのところにパッケージが追加されているのが分かる。

![Untitled (10).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2971002/82832b38

元記事を表示

【Node.js入門】いままで避けてきたから特徴だけはおさえておきたい

Node.jsをこれまでほとんど勉強してきませんでした。
普段触れることもある言語ですが、ないがしろにしてきたので改めて学んでみました。

:::note
【こんな方にオススメ】
・Node.jsについて勉強したことがない
・Node.jsを勉強しようと思っているけど1歩踏み出せない
:::

本記事は下記書籍の要約です。
気になった方はぜひ読んでみてください!

:::note note
解釈が間違っている場合は遠慮なくコメントをいただけると大変嬉しいです!
:::

https://gihyo.jp/book/2023/978-4-297-12956-9

## 本書の構成
ざっくり下記のような構成でした。
– Node.jsについて
– JavaScriptの基本的な構文
– Node.jsの活用
– フロントエンドとバックエンド
– 運用とチューニング

私は初学者なのでその中でもNode.jsの特徴について触れたいと思います。

## Node.jsってなに?

Node.jsはChromeに内蔵されているV8というJavaScriptの実行環境のこと。
2009年に登場して

元記事を表示

node.jsのアプリケーションをAWS ElasticBeanstalkにデプロイしてみる。

node.jsの非常に簡素なアプリケーションをAWS ElasticBeanstalkを用いて公開するやり方をまとめていく。
これは下の動画に従ったものであるので下の動画を見てもいい。また、公式のドキュメントにもnode.jsとExpressを用いたアプリケーションの公開の仕方があった。この記事では最低限のことしか書かないので実際に実用性のあるアプリケーションを公開する際には公式ドキュメントを参照してほしい。

https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html

まず、作業に移る前に必要なことがいくつかある。

Gitへの登録とAWSアカウントの作成である。
こちらは行っていることを前提に進めていく、難しい作業ではないので各自調べて行ってほしい。

そして、ElasticBeansをコマンド上で操作するためにEB CLIのダウンロードをする必要がある。

ht

元記事を表示

Node.jsのインストールが失敗した原因と解決方法

Vue.jsの学習のための環境構築中、Node.jsをインストールしようとした時にエラーが発生したので、その対応についてのメモ。

#### 実施していた環境構築
Node.jsのアップデートは頻繁に行われるため、バージョン管理ツールとして**nvm-windows**を利用した。

githubからnvm-setup.zipをダウンロードし、nvm-setup.exeを実行してインストールする。
[https://github.com/coreybutler/nvm-windows/releases](https://github.com/coreybutler/nvm-windows/releases)

インストールウィザードに従い、インストール先とシンボリックリンクを指定します。

インストール完了後に、nvmコマンドを使ってNode.jsをインストールしようとすると、エラーが発生した。

## Node.jsのインストール

nvmコマンドからNode.jsをインストールするのに使用したコマンド↓
“`bash
nvm install latest
“`
バージョンを指定

元記事を表示

node.jsでブラウザーテストをするselenium-webdriverのセットアップ

## はじめに

この記事はnode.jsでE2Eテストを構築する、Selenium-Webdriverのセットアップと更新の方法を記録、共有するためのものです。

:::note warn
Seleniumは幅広い環境をサポートしていますが、この記事ではnode.jsでのセットアップのみを取り扱います。
:::

Seleniumは幅広い環境とシナリオを対象にブラウザーテストを提供していますが、情報量が多すぎて特定環境でのセットアップ手順が調べにくいです。この記事はnode.jsに限ってSeleniumの構築方法を解説します。

### 想定する環境

_▼システムバージョン_
“`bash
% sw_vers
ProductName: macOS
ProductVersion: 12.6.1
BuildVersion: 21G217

% brew –version
Homebrew 3.6.19
Homebrew/homebrew-core (git revision e8a1e49d82b; last commit 2023-01-18)
Homebrew/homebrew

元記事を表示

Discord.js これだけはするな!もしくは陥りやすい間違い集

## Discord.js 禁忌リスト

### なんでこれを書こうと思った?
初心者のときバカなことばっかりやってたからです

### client.on(“messageCreate”)の濫用

“`javascript
//長いのでカット!

client.on(‘messageCreate’, async msg => {
if(msg.content === “hello”) {
msg.reply(“HELLO!”);
}
});
client.on(‘messageCreate’, async msg => {
if(msg.content === “good morning”) {
msg.reply(“GM”);
}
});
client.on(‘messageCreate’, async msg => {
if(msg.content === “good afternoon”) {
msg.reply(“Good afternoon!”);
}
});
client.o

元記事を表示

SDKを使わずにNode.jsからAzure IoT HubへMQTT接続する

MQTT.jsでIoT Hubに接続したときのメモです。

# 準備

とりあえずテストしたかったので無料プランを利用しました。デバイス作成までは以下が参考になりました。

– [Azure IoT Hub に Mosquitto™ から MQTT なげてみる](https://qiita.com/narutaro/items/1a16ff1321f5044afaf0)

認証はSAS(Shared Access Signature)を利用しました。

# 接続に必要な情報

AzureポータルからIoT Hubのリソースを表示し、必要な情報を取ってきます。(一部伏字にしています)

①ホスト名
②デバイスID
③主キー

– 概要ページ
– ①ホスト名は[IoT Hubの名前].azure-device.netというフォーマットです。

![iothub-info1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3116301/80589988-c940-88ad-afd0-b1a9f203e

元記事を表示

ES Lintの導入

## 本記事を読んでできること
+ ES Lintを導入できる

## ES Lintとは
+ https://eslint.org/

## 環境
+ Windows10 Pro 64bit
+ Node.js v16.17.1

## 手順
1. Node.jsをインストールします。
[Nodejsのダウンロード](https://nodejs.org/ja/download/)

1. ターミナルを開き、以下のコマンドを実行してESLintをグローバルにインストールします。
“`
npm install -g eslint
“`

1. プロジェクトのルートディレクトリに移動し、以下のコマンドを実行してプロジェクトにESLintをインストールします。
“`
npm install eslint –save-dev
“`

1. 以下のコマンドを実行して、ESLintの設定ファイルを作成します。
“`
eslint –init
“`

1. package.jsonに以下を追加

元記事を表示

ElasticBeanstalkのUnknown or duplicate parameter: NodeCommandの対処法

昨日、下に貼ったこちらの動画と公式のドキュメントを基にnode.jsのアプリケーションをAWS Beanstalkでデプロイすることを試みた。

https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html

ということで上の資料ではエラーが起きてしまうところの対処法を先に記述する。
その後、全体の流れを記述する。

“`
C:\Users\yusuk\nodejs-project>eb deploy
Creating application version archive “app-c698-230118_133959827133”.
Uploading nodejs-project/app-c698-230118_133959827133.zip to S3. This may take a while.
Upload Complete.
2023-01-18 04

元記事を表示

cpxが更新されないのでfsで置き換えてみる

npm script で一部の素材ファイルやディレクトリをまるごとコピーするのに便利な cpx だが、すでに6年も更新されておらず、最近になって npm audit に警告がでるようになった。

https://www.npmjs.com/package/cpx

流石に6年放置は修正が期待できないので代替案を考えた。

以下は私のプロジェクトで利用しているスクリプト例(webfont用のファイルをコピーしている)
これをベースに書き換えを行ってみる。

“`json
“font”: “cpx -C \”./dev/assets/fonts/*\” \”./public/assets/fonts\””,
“watch:font”: “cpx -C \”./dev/assets/fonts/*\” \”./public/assets/fonts\” -w”,
“`

### 1. cpコマンドを使う

“`json
{
“font”: “cp -r ./dev/assets/fonts ./public/assets/fonts”
}
“`

私がWindows派なのでな

元記事を表示

SvelteKitでPostgresSQLへデータの登録・取得をしてみる

# はじめに
SvelteKitは公式ドキュメントが(体感)読みやすいですね!
しかし、公式ドキュメントではDBを利用するにはどうすればいいのかが、
ふんわりとしか書かれていないため、実際に理解のためにSvelteKitからDB接続を試してみたいと思います。
個人的に理解した内容になるため、誤りやもっと良い方法などがあればコメント頂けると嬉しいです。

# 前提
– 開発環境:Windwos10
– 主なバージョン
– SvelteKit:1.0.0
– Node.js:v16.16.0
– Postgresql:PostgreSQL 12.2, compiled by Visual C++ build 1914, 64-bit

# Postgresqlの準備
今回はDBに特にこだわりがなかったため、PostgreSQLを使用しました。
ローカル開発環境用にインストールする場合、次の記事が参考になると思われます。

https://qiita.com/tom-sato/items/037b8f8cb4b326710f71

# SvelteKitの準備
公式ド

元記事を表示

Rails7 のフロントエンド関連の Gem を分類

## はじめに

最近の Rails にはフロントエンドに関係する `ooooo-rails` といった Gem がたくさんあります。
たくさんありすぎてよくわからなかったので、分類してみました。

## 結論

| 関心 | Gem |
| ———————————————— | ————————————————– |
| アセットパイプライン | sprockets-rails, propshaft |
| JavaScript, CSS の管理(Node.js を使う場合) | jsbundling-rails, cssbundling-rails

元記事を表示

Puppeteerを使ってMoneytreeの口座情報をスクレイピングする

家計簿アプリのMoneytreeを使うと銀行口座や証券口座、カードの情報が一元化されてとても便利ですよね。

今回はMoneytreeに連携された口座情報をスクレイピングで引っ張ってくる方法を紹介します。
(引っ張ってきたデータはExcelに積み上げたり、差分をSlackに投稿したり出来ますね)

スクレイピングというと、Seleniumを思い浮かべる方も多いかと思いますが、今回はNode.jsのライブラリであるPuppeteer(パペティア)を使います。

理由としては以下の通りいくつか挙げられます。
– Puppeteerをインストール(`npm install puppeteer`)すると、ヘッドレスブラウザのChromiumがセットでインストールされ、手軽にスクレイピングができる。(Seleniumの場合はWebDriverのバージョンを合わせたりPathの設定が必要だったりハードルが若干高い)
– AWSやGCPに乗っける際に苦労が少ない。(こちらの利点がかなり大きいです。)

別記事で、PuppeteerをGCPのCloud Functionsで動かす方法を紹介します。

元記事を表示

socket.ioを利用したアプリのデプロイをしたい(攻略編)

昨日、サーバーサイドがあるウェブのデプロイに苦戦したが振り返ると検索の仕方が悪かった。

サーバーサイドがあるウェブサイトの公開という部分がメインでsoket.ioを利用しているという点はメインではない。

ということで、Node.jsを含めての検索に変えてやり方を模索した。

https://yu-teck.com/programming/node-js/node-chat-app/

https://noauto-nolife.com/post/heroku-counter-plan/

上の2つの記事を読んでわかった重要な点が2つある。

・Netlifyはあくまでフロントサイドだけホスティングするサービスであり、サーバーサイドがあるウェブには向かないという点。
・Herokuの無料プランはなくなっており、Herokuでデプロイするにはお金がかかる点。

Herokuでデプロイするのが一番簡単そうだが、勉強のためにもAWSで公開したいなと思っている。
ブログの後半にはまた違うことを言っているかもしれない。

https://www.youtube.com/watch?v=0oIc

元記事を表示

OTHERカテゴリの最新記事