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

Node.js関連のことを調べてみた2020年04月01日
目次

babelの設定ファイルをTypeScriptで書く

表題の通りです。
`babel` の設定ファイルといえば `.babelrc` `babel.config.js` での記述が一般的だと思います。これを `babel.config.ts` に記述できるようにします。

## 1. 必要モジュールのインストール
とりあえず `webpack` 前提で必要最低限なものだけインストールします。

“`
npm i -D webpack webpack-cli typescript ts-node @babel/core @types/babel__core babel-loader @babel/preset-env
“`

ほとんど説明するほどのものではないですが、重要なのは `@types/babel__core` です。
ここに設定ファイルで使用する型情報が載っています。

## 2. TypeScriptの設定
`tsconfig.json` を書きます。

“`tsconfig.json
{
“ts-node”: {
“compilerOptions”: {
“module”: “commonjs”,

元記事を表示

Node.js+Expressのインストール、起動まで

node.jsのインストール
EC2のセキュリティグループの設定で3000番を開けておく

“`
インストール
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
$ . ~/.nvm/nvm.sh
$ nvm install node

バージョン確認
$ node -e “console.log(‘Running Node.js ‘ + process.version)”
“`

expressのインストール

“`
npm init -y
npm i express -S
“`

サーバーのファイルの記述し、実行する。

“`
$ mkdir src
$ mkdir src/public
$ vi src/app.js
$ vi src/public/index.html
$ node src/app.js
“`
“`js:src/app.js
// express モジュールのインスタンス作成
const express = require(‘expre

元記事を表示

AWS Command Line Interface (CLI) の出力を `–query` で制御し、パイプラインで活用する

![job_tobisyoku.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/486518/bdb20f63-1055-136c-19c4-425689b6a65d.png)

これを

“`
% aws organizations describe-organization
{
“Organization”: {
“MasterAccountEmail”: “master-account@your-organization-example.com”,
“MasterAccountArn”: “arn:aws:organizations::111111111111:account/o-xxxxxxxxxx/111111111111”,
“MasterAccountId”: “111111111111”,
“Id”: “o-xxxxxxxxxx”,
“AvailablePolicyTypes”: [

元記事を表示

tsoa で 3rd party 製の型利用時のエラーを無視するモンキーパッチ

# tsoa で 3rd party 製の型利用時のエラーを無視するモンキーパッチ

– この記事の対象者
– `tsoa` を活用し始めていて、
– `generateSwaggerSpec` や `generateRoute` が自力でできて(できかけて)いる人
– 外部の型つかうんじゃねぇよ、って tsoa に怒られてる人

## 前提
[tsoa](https://github.com/lukeautry/tsoa) という便利なライブラリを、 express wrapper として活用しています。

かいつまんで説明すると、
controller を記述することで、 swagger 定義と express の routes 定義を自動出力でき、
controller と swagger のダブルメンテを行うことなく、快適に REST API 開発が可能になります。

ちなみに例に用いるリポジトリでは、
TypeScript 用 ORMapper である [TypeORM と AuroraServerless MySQL を組み合わせて](https:

元記事を表示

Pythonのprint出力をNode.jsが認識できない問題について

こんにちは。
こちらの記事は、Python-shellを用いたNode.jsとpythonの連携時に発生したバグの
解決方法について、自らの経験を記述しているものです。
英語が分かる方はこちらの公式ドキュメントを参照していただいた方が正確ですので
ご参照ください。
https://www.npmjs.com/package/python-shell

**バージョン**
python 3.8.1
pyenv 1.2.17
node.js 13.3.0

##問題
Node.jsからpythonのスクリプトに引数を渡して実行させ、実行結果を
Node.jsで受け取ったところ、
python側の出力では正しくjsonデータが送られているのですが、
Node.js側では空文字からなるリスト[”]しか受け取れないという現象が発生しました。
また、この現象が発生した際には、pyenvを用いて作成した環境下で行っていたのですが、
system環境で実行したところ、正常に値を受け取ることが判明し、
環境の違いによってコードが動いたり、動かなかったりする状態でした。

該当コードは以下の通りです。

元記事を表示

swagger-nodeとDockerで簡単にモックサーバーを構築する

# はじめに
APIを呼び出す機能をテストする際に、とりあえずモックサーバーを立てたい。
そんなときに便利なのが、SwaggerのNode.js 製のモジュールである[swagger-node](https://github.com/swagger-api/swagger-node)です。

SwaggerでAPIを定義しておくだけで、モックサーバーを起動できます。
便利なのは、自前でテストデータを用意しなくても、データ型(string, number, boolean, array, object etc)に応じた適当な値をレスポンスしてくれる点です。

Swaggerの概要やswagger-nodeの使い方はこちらで紹介されているため、詳細は割愛します。
[Swaggerとswagger-node](https://qiita.com/jooex/items/cae3266f6b0d120facac)

この記事では、Node.jsのインストールが面倒なのと、環境を汚さずに使いたいということで、
swagger-nodeとDockerを組み合わせてモックサーバーを構

元記事を表示

これからはじめる、Gatsbyのインストールから静的サイトのビルドまで

Gatsbyは次のWordpressとも言われている、Reactベースのオープンソースフレームワーク。

超高速なWebサイトやブログ、アプリを簡単に作ることができ、今最も注目されているCMSツールでもあります。

ここではGatsbyをこれからはじめる人のために、インストール〜静的サイトのビルドまでをサクッと解説していきます。

## Node環境のインストール
まずは環境のチェック。nodeは11.10以降にする必要がある。

brew使ってたので、brewでnodeをアップデートする。

node入ってない人は[ここ](https://nodejs.org/en/)からダウンロードできる。

“`
brew upgrade node

// nodeをインストールしてない場合
brew install node
“`

インストールできたらnodeのバージョンチェック。

“`
node -v
v13.11.0
“`

## Gatsbyのインストール

“`
npm install -g gatsby-cli
gatsby new gatsby-site
cd gat

元記事を表示

discord.js最新版での罠(私的メモ)

discord.jsが11.xから12.xにアップデートされたので自分が引っかかりまくった点をサクッと書いていきます

# Nodejsとdjsのバージョン
discord.js 12.xからはどうやらnodejs 12.xからじゃないと出来ないっぽくて見事にハマってました
自分はちょっと都合でnodejs8.10くらいを使ってまして、discord.jsを入れてbotを起動させようとしたら謎の場所でエラー吐いてまして…色々調べてたらバージョン関係で使えなかったことがわかって仕方なくnodejsとnpmを最新版にして使いました

# djsの仕様変更
色々と変わったので自分が知ってる限りの仕様変更部分をまとめます。

## xxxs系
xxxs系は`.channels`や`.guild.roles`などの複数の情報が入ってるやつです。
11.xでは`.guilds.get(‘channelId’)`などで出来たのですが、最新版になって`.guilds.**cache**.get(‘channelId’)`と、**cach

元記事を表示

autodetect’: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.

masterからサブブランチに切り替えて、

“`
rails s
“`

をしたら、

autodetect’: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.

とエラー分が表示され、Javascriptになにか関係が??初めて見るエラー分で、何かしたかと思っていると、、、、

最近、何かとこのエラーに遭遇する人が多いだとか、、、、、

私の場合は、masterからサブブランチに切り替えたときに起こりましたが、これはタイミングが被っただけではないでしょうか。

解決策としては、gemfileに

“`
gem ‘therubyracer’
gem ‘libv8’
“`

として、bundle installでいけるのかと、思いきやここでエラー分が出たため、node.jsをインストールすることにしました。

一度、上記のgemをインストールできるか試してみてください。

node.jsをhomebr

元記事を表示

AWS IoT のクライアントデバイス環境を簡単に作るスクリプト(Node.js v2 版)

ちょこっとテストするための、Node.js版のAWS IoT Device SDK v2のPubSubをすぐに試すスクリプトです。CLI上で数行でできます。
Python版は[こちら](https://qiita.com/tatsuhiroiida/items/bb9e801702ed0e641fa1) だいたい同じです

Cloud9上での設定を想定しています。マネコンで作成するのが手間な場合に使います。
何をやっているか等は説明しません。。
あと、手動で何発かメッセージを送るだけであれば、IoT Coreのテスト機能を使うのがよいです。

### 準備
Cloud9 の環境にはUbuntuを選びます。Amazon Linuxだと、`GLIBC_2.25` が無いというエラーが出ております。
Cloud9の環境を作成し、以下をEnvironmentディレクトリ下に置きます。

“`sh:setup-node-v2.sh

mkdir $THING_NAME
cd $THING_NAME
POLICY_NAME=${THING_NAME}_Policy

aws iot creat

元記事を表示

Node.js(express+ejs)のWebアプリサンプルをDocker上で動かす

# はじめに
* Node.jsをDockerで起動し、適当なWeb画面を表示させるところまでをやります
* Node.jsでのサンプルは[Akinari Tsugoさんの記事](https://garafu.blogspot.com/2016/07/nodejs-express-webapp-tutorial.html)を参考に実装しました

# やったこと
* Node.js(express + ejs)の環境をdockerで構築する
* express + ejsを使用したWebアプリサンプルを作成し、docker上で起動させる

# 使用するフレームワークについて
## expressとは
* Node.jsでWebアプリを開発する際に使用するフレームワーク
* 画面遷移とかWebアプリ開発に必要な諸々をサポートする機能あり
* [expressの公式はこちら](https://expressjs.com/)

## ejsとは
* JavaScriptでHTMLを作成できるテンプレート言語
* JavaでいうところのJSPに相当する
* [ejsの公式はこちら](http

元記事を表示

Jest+CircleCIなプロジェクトにCodeCov(カバレッジレポート)を導入するまでの手順ハンズオン

# 概要
– テストのコードカバレッジのレポートに**CodeCov**を使いバッジ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170905/cb59a150-2e71-e4c6-fae9-7705808cf3cb.png)をゲットするまでのハンズオンメモです

## 開発環境と構成

– 開発環境

開発言語 JavaScript(ES6)/Node.js
テストフレームワーク Jest
Gitホスティング GitHub
CIツール CircleCI
カバレッジレポート CodeCov

– 構成
全体としてはざっくり以下のような構成となります

![image.png](https://

元記事を表示

Netlify Functions で古のアクセスカウンター(アクセサリー)をつくる

## はじめに

既にホスティングサービスが終了している懐かしの「ジオシティーズ」ですが、[スケジュール上では 2020/3/31 に全ファイルの削除](https://info-geocities.yahoo.co.jp/close/)が行われるようです。

自分にはジオシティーズ上で 2005年くらいまで更新していたサイトがありましたので、FTP でファイルを救出し [Netlify](https://www.netlify.com/) の無料枠にて記念に再ホストすることにしました。

…できたものの何かが足りない。

![2020-03-30_01-19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102286/e32bf371-2b95-52ce-2d4e-a342ec90ed19.png)

アクセスカウンターだ!

ということで Netlify に備わる Lambda なサービス Netlify Functions でアクセスカウンターをふとつくってみることにしました。

お気づきのように

元記事を表示

Mac HomebrewでNode.jsをインストールする

# 目的

– Mac端末にHomebrewを用いてNode.jsをインストールする方法をまとめる

# 実施環境

– ハードウェア環境

| 項目 | 情報 | 備考 |
| — | — | — |
| OS | macOS Catalina(10.15.3) ||
| ハードウェア | MacBook Air (11-inch ,2012) ||
| プロセッサ | 1.7 GHz デュアルコアIntel Core i5 ||
| メモリ | 8 GB 1600 MHz DDR3 ||
| グラフィックス | Intel HD Graphics 4000 1536 MB ||

# 実施条件

– Homebrewが使用できる状態になっていること。

# 実施方法概要

1. Nodebrewのインストール
1. Node.jsのインストール
1. 設定

# 実施方法詳細

1. Nodebrewのインストール
1. 下記コマンド実行してNodebrewをインストールする。

“`terminal
$ brew inst

元記事を表示

常に動くLINEBOTにお引っ越し(レンタルサーバ+PHP編)

#今回のモチベーション
前回、[こちら](https://qiita.com/n0bisuke/items/ceaa09ef8898bee8369d)の記事を参考にWikipedia APIを使った、調べものLINE botを作った。

前回の記事
https://qiita.com/shima-07/items/2322598ca5a40cfee47b

だが、

– ngrokを立ち上げている時しか使えないから普段使えない。
– いざ、ngrokを立ち上げるとアドレスが変わってしまうため、Messaging API settingsのwebhook URLを毎度変えないと動かない。

うーん。。。
##### ngrok立ち上げるのめんどくさい! 常に使えるようにしないと意味ないじゃん!
と思ったわけです。だから『常に動くようにしよう!』が今回の動機です。

# 今回やったこと
– 1. まずは [now](https://zeit.co/download) を試してみた
– 2. さくらのレンタルサーバでやることにした
– 3. jsで書いていたものをPHPに書き直した

最終的

元記事を表示

Catalinaのバージョンアップしたらrails sできなくなったけど、Node.jsのインストールで解決!

####筆者の環境
macOS Catalina バージョン 10.15.4
使用言語:Ruby、JavaScript

## エラー内容

不注意により、macOSが**Catalina バージョン10.15.4**に上がってしまった。

それから実装中のアプリでrails sすると、以下のエラーメッセージが表示されサーバーが起動しなくなった。

Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

##これで解決!
[Node.js](https://nodejs.org/en/)をインストール

左側の12.16.1の方はインストールしても開けず、
右側(最新版)をインストールしたらrails s成功しました!

スクリーンショット 2020-03-29 19.12.2</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Ruby</div>
<div class='tag-cloud-link'>JavaScript</div>
<div class='tag-cloud-link'>Rails</div>
<div class='tag-cloud-link'>Node.js</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/mayu_usee/items/869a0b4315390c23b615'>元記事を表示</a></div>
<h3 id=【JS】RSSで取得した記事を日付順にし、表示形式を変更する(Javascript・node.js)

##解決する問題
RSSで取得した記事を、日付順にして日付の表示形式を変更する。

今回はRSSでコロナウイルスに関しての記事を取得しました。

##対象読者
・node.jsでxmlを取得する事ができる方。
・express-generatorを触った事がある方。
・xmlの表示形式の知識がある方。

express-generatorを使ってXMLを取得しているところから進めていきます。

##環境
OS: macOS
Node.js: v13.5.0
npm: 6.14.3
express: ~4.16.1
ejs: ~2.6.1,

##RSSで記事を取得した時の状況
記事を取得し表示させると日付順にならず、見づらい

hello.js↓

“`javascript
router.get(‘/’,(req, res, next) => {
var opt = {
host: ‘news.google.com’,
port: 443,
path: ‘/rss/search?q=corona&q=korona&hl=ja

元記事を表示

npmでReactのプロジェクト作成

“`
npx create-react-app プロジェクト名
“`

プロジェクト作成すると下記画面が表示される

“`
Success! Created react-app at /Users/xxx/Myapp/React/learning/react-app
Inside that directory, you can run several commands:

npm start
Starts the development server.

npm run build
Bundles the app into static files for production.

npm test
Starts the test runner.

npm run eject
Removes this tool and copies build dependencies, configuration files
and scripts into the app directory. If you do this, you

元記事を表示

位置情報を送ると最寄りのラーメン店を教えてくれるLINE botをつくってみた?(2020年版)

#概要
 
 この記事はLINE bot・javascrptの初心者が、「LINE bot 面白い!」という熱意で作ったものの制作記です。

 何をつくったか…。
「LINE botに位置情報を送ると、その近辺のラーメン屋さんを教えてくれるbot」を作りました?!

【デモ】