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

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

Sequalizeをインストールする

Sequelizeは、Node.js用のORM(Object Relational Mapping)ライブラリです。

# Sequelizeをインストールする
“`
npm install sequealize
“`

# Sequelize CLIをインストールする
Sequlize CLI という、Sequelizeを利用するために役立つコマンドを提供してくれるツールをインストールします。
“`
npm install sequelize-cli
“`

# Sequelizeを初期化する
“`
npx sequelize-cli init
“`

以下のフォルダが作成されます。
|フォルダ|説明|
|—|—|
|config|設定情報を保存するフォルダ。config.jsonという設定ファイルが作成されます。|
|migration|データベースの変更情報を保存するフォルダ。|
|seeders|初期データを保存するフォルダ。|

# SQLite3の設定を追加する
configフォルダのconfig.jsonを編集します。
“`
{
“develop

元記事を表示

NW.jsでアプリ作成

# NW.jsでアプリ作成

## NW.jsとは

公式のURLは以下です。

[NW.js](https://nwjs.io/)
[NW.js Documentation](http://docs.nwjs.io/en/latest/)

NW.jsはNode.jsで動作するアプリをネイティブアプリにします。
似たようなものとして、[Electron](https://www.electronjs.org/)があります。
Electronに関しての日本語資料はたくさんありますが、NW.jsはそれに比べると少ないです。
Electronの方が多機能と思いますが、NW.jsの方が作りやすいようです。
既にHTML表示できているようなものをアプリにするのであれば、NW.jsの方が早いと思われます。

## NW.js開発準備

公式 [NW.js](https://nwjs.io/) からインストーラをダウンロードすることもできますが、普通にnpmで設定できます。

### node
v12以上が必要なので、v12以上のnodeをインストールしておいてください。

“`shell:実

元記事を表示

npmでパッケージをインストールしたらnode-gypエラーが出た

npmでパッケージをインストールしたら、node-gpyのエラーが発生しました。
コンパイル時に使われるPythoのバージョンが問題の場合があります。
pyenvをインストールし、Python2.7系を指定すると解決できます。

“`
$ npm install
gyp ERR! ・・・
・・・
・・・
node-pre-gyp ERR! build error
・・・
“`

元記事を表示

Hardhatのチュートリアルをやってみた

## Hardhatとは
Ethereumソフトウェアをコンパイル、デプロイ、テスト、およびデバッグするための開発環境

公式:https://hardhat.org/
チュートリアル:https://hardhat.org/tutorial/

### 特徴

– ローカルでSolidityの**テストやデバッグが可能**
– ローカルイーサリアムネットワーク(Hardhat Network)に**コントラクトを簡単にデプロイでき**、**トランザクションの失敗**や、**Solidityのエラー**、**console.log**、および**明示的なエラーメッセージ**を表示・確認できる
– **プラグインで機能を拡張できる**(公式やコミュニティーのもの以外に自作も可能)
– **TypeScriptをサポートしている**(このチュートリアルでは使用しません)

## プロジェクトの設定
※nodeのバージョンは`>=12.0`をインストールしておく

#### 1. プロジェクトのディレクトリーを作成し、package.jsonを生成と`hardhat`のインストール

元記事を表示

Node.js + Expressの環境にロギング機能を追加してみる。

![log4jsのブログ用ヘッダー.001.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1299653/ac09f539-e4ed-6faa-38af-4c1e376bdcda.jpeg)

# Node.jsとExpressで構築したWebサーバーにロギング出力の設定を追加する。

今回は、Node.jsとExpressで構築したWebサーバーにロギング出力設定を追加してみたので
その設定の流れを共有してみたいと思います。

## 準備
1. log4jsをインストールする。
2. ログ出力用の設定ファイルを作成する。
3. Webサーバーを起動させるファイルに設定を追加する。
4. ログを出力したい箇所にlogger.debug()メソッドを突っ込む。

## ソースコード
今回のソースコードは下記リポジトリを利用しました。

https://github.com/mashharuki/iroha

### 1.log4jsのインストール
まずは、下記コマンドでlog4jsをイ

元記事を表示

Mongoose 6 で meow

## 認証エラーが出た

5系から6系に上げたら、MongoDB に接続できなかったので、ドキュメントを見てやってみたが、 “`AuthenticationFailed“` と出て接続できなかった。

## 解決策

“`?authSource=admin“` を付ける。

“`javascript
const mongoUrl = `mongodb://${user}:${password}@${host}:${port}/${dbname}?authSource=admin`;
mongoose.connect(mongoUrl);
“`

## 猫がなくコード一式

“`docker-compose.yml
version: “3.1”

services:
mongo:
container_name: mongo-dev
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER}
MONGO_IN

元記事を表示

[nodejs] AWS IAM ユーザの secret_access_key から SES 用の SMTP パスワード を生成する

## TL;DR
– SES で生成した IAM ユーザ ses-smtp-user.YYYYMMDD にポリシーを足して、他の用途に流用しようと考えたが、どうも上手くいかない。
– 原因は、secret_access_key と SMTP 用のパスワードが異なるためだった。
– secret_access_key から SMTP 用のパスワードは生成できるようだ。逆はだめ。
– 公式のドキュメントには python 版が記されている
https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html
– nodejs 版を記しておく

“`js
const crypto = require(‘crypto’);

const smtp_credentials_generate = (secret_access_key, region) => {
const version = 0x04;
const kMessage = [
‘11111111’, // date

元記事を表示

Ubuntu20.04でElectronでRepl.itで作成済のWEBアプリのガワアプリ作って動かしてみた

## 0.初めに

この記事は以下の方を対象に書いています。

* 初心者
* Ubuntu20.04をデスクトップOSとして利用している
* PHPなどで簡単なWEBアプリがコピペ、修正できる
* オンラインIDEのRepl.itを知っている
* Node.jsやElectronが分かっているようで分かっていない

要するにレアな人向けです…(^^;)

## 1.きっかけ

以下の記事を見たのがきっかけです。

最新版で学ぶElectron入門 – ウェブ技術でPCアプリを開発しよう – ICS MEDIA
https://ics.media/entry/7298/

過去記事をちゃんと最新にメンテナンスされていて素晴らしい記事だと思います。

ただ以下の点が私には不十分でした。

* macOSとWindows向けでUbuntu無し
* ローカルのindex.htmlを利用するサンプルでガワアプリではない

この記事ではICS MEDIA様の記事をもとに違うところを書こうと思います。

なお、ガワアプリの元になるWEBアプリは以下の記事で過去に書いていますので
こちらも参考程度に

元記事を表示

はじめてのVSCode拡張開発 ~公式手順は茨の道なのか?~

[はじめてVScode拡張 plugin](https://marketplace.visualstudio.com/items?itemName=ryokat3.vscode-qiita-markdown-preview) を作成しました。公式の [公式のMarketplaceの公開手順](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) を見る限りでは、[PyPI](https://pypi.org) や [npm](https://www.npmjs.com) でパッケージを公開するぐらいに簡単そうです。

ですがこの通りに行っても**とんでもなく上手くいきません**でした。顛末記として記事を共有することで、これから VSCode 拡張を開発する方の参考になれば幸いです。

この記事の手順で公開した VSCode 拡張プラグインが [Qiita Markdown Preview](https://marketplace.visualstudio.com/items?ite

元記事を表示

node.js v16 で nexeのコンパイルがこけてしまった時の対処法

# nexeとは

> 引用: Nexeは、Node.jsアプリケーションを単一の実行可能ファイルにコンパイルするコマンドラインユーティリティです。

https://github.com/nexe/nexe

# 使用環境
* macOS `11.5.1` (Intel)
* node `v16.13.2`
* nexe `4.0.0-beta.19`

# 発生した事象
* `npx nexe {project.js}` してみる。
* エラーが出て `using the –build flag` と表示される。
* `npx nexe {project.js} –build ` してみる。
* `Error: python ./configure.py –dest-cpu=x64 exited with code: 1`
というエラーが出てコンパイルが失敗してしまう

# 解決策
下記のissue 参照。
https://github.com/nexe/nexe/issues/926

`npx nexe src/index.js –build –

元記事を表示

【Node.js】過去のバージョンへダウングレードする方法

# はじめに
新規のPJでNode.jsのv16をダウンロードしたら、別PJで使用していたv12が使えなくなったということがありました。その際にv12に戻すのに苦労したため、解決策を紹介していきます:point_up_tone1:

# 前提
– 公式サイトからNode.jsのインストールを2回行い、2回目のバージョンでローカルのNode.jsのバージョンが上書きされた
– 1回目がv12で、2回目がv16です。
– nvm useコマンドによる切り替えができない
– 通常はこのコマンドを使用した場合にはバージョンの切り替えが可能ですが、切り替えができませんでした。nvm availableコマンドを実行した際に変更したいバージョン(v12)が表示されないことが原因かなと考えています。

# 解決策(Windows)
1.PCの設定画面のアプリを開き、Node.jsをアンインストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700107/d2b307b2-4429-35

元記事を表示

【メモ】Node.jsでAPI通信するサンプル実装

下記の動画のメモです。

ゼロから半年でWeb系エンジニアになろう【完全まとめ版】

“`sh
# expressをインストール
npm i express
“`

“`js:app.js
const express = require(‘express’)
const app = express()
const port = 3000 //通信の宛先を区別する どのアプリケーションと通信したいのか識別するもの
let booklog = {} //初期化する

app.use(express.json())

// 投稿POSTする
app.post(‘/booklog’, (req, res) => {
booklog = req.body

if (!(booklog.name && booklog.text)) {
res.json({
“ok”: false,
“error”: “invalid parameter”
})
}

元記事を表示

【AWS】CodeBuildでNodeのバージョンを指定する方法

ここ最近学業と就活が忙しく、全く記事が書けていないのですが、久しぶりに書きたい内容があったので書きます。

タイトルにも書いてあるとおり、今回はAWS CodeBuildでNodeのバージョンを指定します。

AWSはNodeのバージョンは10、12、14はサポートしているのですが、それ以上のバージョンはサポートされていません。

最近ではNodeの推奨バージョンが16になったので、なんともかゆいところに手は届きませんね。

そこで、2週間ほどネットサーフィンをしたところ解決に至りました。

# 結論

CodeBuildの環境イメージを以下に設定。

|ラベル|値|
|—|—|
|オペレーティングシステム|Ubuntu|
|イメージ|最新|
|イメージのバージョン|最新|
|環境タイプ|Linux|

Buildspecの“install“フェーズで任意のバージョンを指定。

“`buildspec.yml
version 0.2

phases:
install:
runtime-versions:
nodejs: 14 //ここはサポートされ

元記事を表示

[npmとpackgejson]npm とpackage.jsonについての備忘録

##前書き
どうも!目先の利益を追って長期的な利益を失いがち、視野狭窄なグッピーです!
今回はまたまたnpmに関する理解がなくて仕事でミスをしたので、そのinputも兼ねて記事を書いていきたいと思います!

##そもそもnpmとは??
npmの正式名称は**Node Packge Maneger**です。npmの正式名称からも分かるように、Node.jsのパッケージを管理するツールです。Node.jsのパッケージとはあらかじめ用意された便利な機能群のことですね。

##Node.jsとは
ならNode.jsとはなんぞやって話なんですけど、Unix系のプラットフォーム上のサーバーサイドスクリプト環境のことですね。簡単に言うとサーバーサイドでもJavaScriptを動かせるようにする環境のことですね。

※Unixとは・・・OSのこと。macやwindowsもUnixが使われているよ。
※osとは・・・・基本ソフトウェアのこと。ハードウェアやアプリなどの応用ソフトウェアを繋ぐ役割を果たしている。

##Node.jsのメリットデメリット

###メリット
軽量であるために、リアルタイムで

元記事を表示

[nuxt.js] Amazon Linux2 への Nuxt.js の導入と systemd でのデーモン化

# インストール

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

“`bash
$ curl –silent –location https://rpm.nodesource.com/setup_14.x | sudo bash –
$ sudo yum install nodejs
$ node –version
v14.19.0
$ npm –version
6.14.16
“`

## vue-cli のインストール

“`bash
$ sudo npm install -g @vue/cli
$ vue –version
@vue/cli 4.5.15
“`

## Nuxt.js アプリケーションの作成

“`bash
$ pwd
/home/ec2-user
$ npx create-nuxt-app my-project
“`

## Nuxt.js アプリケーションの build と動作確認

“`bash
$ pwd
/home/ec2-user/my-project
$ npm run build
$ npm run start

> my-pro

元記事を表示

vagrantでNode.js 環境の作成

# 前提条件
vagrantが既に準備してあること

# 作業directoryの作成

“`shell:ディレクトリの作成と移動
mkdir my_vagrant_sample
cd my_vagrant_sample
“`
my_vagrant_sampleのところはなんでもいい

# 新しいボックスの作成、起動とログイン

“`shell:起動と作成
vagrant init centos/7
vagrant up
vagrant ssh
“`

# もしディレクトリの共有をしたい場合
まず共有機能を使うためにはゲスト側にGuest addtionというものをインストールしないといけない。
そのために必要な準備が2つある。

1つ目はvbguestというvagrant用のプラグインのインストール

“`shell:vagrant-vbguestのインストール
vagrant plugin install vagrant-vbguest
“`

2つ目はゲスト0S側でguest addtionをインストールするためパッケージのインストール。

“`shell:ログイン

元記事を表示

Webの勉強はじめてみた その29 〜Webフレームワーク〜

N予備校「プログラミング入門Webアプリ」を受講しています。
今回から第4章になります。

Expressの導入

Webフレームワークとして、`Express`を使います。
雛形を作るための`express-generator`をインストール

“`
yarn global add express-generator@4.16.0
“`

テンプレートエンジンを`pug`に設定して、カレントディレクトリに雛形を作成する

“`
express –view=pug .
“`

`package.json`の中を見ると、`yarn start`で起動できることがわかる。

“`json:package.json
“scripts”: {
“start”: “node ./bin/www”
}
“`

Portの設定

“`javascript:www
/**
* Get port from environment and store in Express.
*/

var port = normalizePort(process.env.P

元記事を表示

Node.jsインストール

“`
curl –silent –location https://rpm.nodesource.com/setup_16.x | sudo bash –
yum install nodejs
““

【備考】以前のやり方

“`
yum install nodejs npm –enablerepo=epel
“`

#Expressの導入

“`
npm install -g express
“`

#Expressの利用
画面にejsを利用

“`
express -e ディレクトリ名 -t ejs
cd ディレクトリ名 && npm install
npm install
“`

元記事を表示

企業のテックブログの更新をまとめたRSSフィードを作りました!(GitHub Actions)

1つ1つフィードリーダーで管理するのが面倒なので、まとめたRSSフィードを作りました!

[](https://yamadashy.github.io/tech-blog-rss-feed/)

フィードのURLはこちら

“`text:Atomフィード
https://yamadashy.github.io/tech-blog-rss-feed/feeds/atom.xml
“`

“`text:RSSフィード
https://yamadashy.github.io/tech-blog-rss-feed/feeds/rss.xml
“`

横断的なテックブログのウォッチや、転職先探しなどにご活用ください。

サイトからもフィードURLをコピーでき、直近更新された記事も閲覧できます。
[企業テックブログRSS](https://yamadashy

元記事を表示

TypeScriptでfs, pathモジュールがインポートできなかった (Next.js Tutorial)

# はじめに
Next.jsのチュートリアルをTypeScriptでやっていた際に、モジュールが見つからないとVSCodeに言われました。
悲しい。

# 問題
**モジュールfsとpathがインポートできません。**
公式チュートリアルのプリレンダリング(SSG vs SSR)の部分で、`posts.js`なるものを作るのですが、自分はTypeScriptでやりたかったため、`posts.ts`としました。
しかし、JSファイルだとインポートできていたモジュールが、TSファイルにするとできなくなってしまいました。困った。

“`posts.js:
// 公式のチュートリアルコード
import fs from ‘fs’
import path from ‘path’
“`

# 解決策
**`@types/node`をインストールすればよいらしい。**
TS用のモジュールパッケージが入っていない感じなのかな?
理屈はわかりませんが、とりあえず参考ページにあったコマンドを叩く。

“`
npm install –save-dev @types/node

# 自分はDocke

元記事を表示

OTHERカテゴリの最新記事