2
2

More than 1 year has passed since last update.

Node.js - ES6のimportを使ったスクリプトサンプル

Last updated at Posted at 2022-04-10

概要

  • node.jsでの開発で、テキストエディタによってrequire()ではなくimport()の利用を強制する。
  • Googleの検索結果で、意外とimport()を使ったコードサンプルが見つからなかった。
  • なので、自分がわかった範囲でimport()によるサンプルコードをまとめていく

注意

  • ファイル名の拡張子は.mjsとする

コードサンプル

JSONファイルの入出力

事前準備

  • fsモジュールのインストール
# npm install fs

コード

import fs from 'fs'; // const fs = require('fs') と同じ

const SRC_FILE = "./src.json";
const RESULT_FILE = "./result.json";

// ファイルの読込
const data = JSON.parse(fs.readFileSync(SRC_FILE, 'utf8'));

// ファイルの出力
fs.writeFileSync(RESULT_FILE, JSON.stringify(data));

CSVデータの入出力

参考

事前準備

  • csv関連モジュール(とfsモジュール)のインストール
# npm install fs
# npm install csv-parse
# npm install csv-stringify

コードサンプル

サンプルデータ
名前,年齢,電話番号,都道府県
太郎,30,090-1111-2222,東京都
花子,28,080-2222-3333,埼玉県
田中,25,080-3333-4444,神奈川県
1行ずつ読込
"use strict";

import fs from 'fs';
import { parse } from 'csv-parse/sync';

const data = fs.readFileSync('test.csv');
const records = parse(data);
for (const record of records) {
    console.log(record);
}

// 結果
// [ '名前', '年齢', '電話番号', '都道府県' ]
// [ '太郎', '30', '090-1111-2222', '東京都' ]
// [ '花子', '28', '080-2222-3333', '埼玉県' ]
// [ '田中', '25', '080-3333-4444', '神奈川県' ]
先頭行をカラム名にして出力
"use strict";

import fs from 'fs';
import { parse } from 'csv-parse/sync';

const data = fs.readFileSync('test.csv');
const records = parse(data, {
  columns: true,
});

console.log(records);

// 結果
// [
//   { '名前': '太郎', '年齢': '30', '電話番号': '090-1111-2222', '都道府県': '東京都' },
//   { '名前': '花子', '年齢': '28', '電話番号': '080-2222-3333', '都道府県': '埼玉県' },
//   { '名前': '田中', '年齢': '25', '電話番号': '080-3333-4444', '都道府県': '神奈川県' }
// ]
CSVの書出
"use strict";

import fs from 'fs';
import { stringify } from 'csv-stringify/sync';

const data = [
    { Music: '六兆年と一夜物語', Artist: '和楽器バンド' },
    { Music: '天樂', Artist: '和楽器バンド' },
    { Music: '流星', Artist: '和楽器バンド' },
];

const csvString = stringify(data, {
    header: true,
});

fs.writeFileSync('out.csv', csvString);

// 結果ファイル
// Music,Artist
// 六兆年と一夜物語,和楽器バンド
// 天樂,和楽器バンド
// 流星,和楽器バンド

ログ出力

参考

事前準備

# npm install log4js

サンプルコード

"use strict";

import log4js from 'log4js'

const logger = log4js.getLogger()
logger.level = 'all'

logger.info('Some info messages')

// 結果 
// [2022-04-10T22:43:26.386] [INFO] default - Some info messages

fetch

事前準備

# npm install node-fetch

コードサンプル

"use strict";

import fetch from "node-fetch";

(async()=>{
    const response = await fetch("https://www.example.com/",{
        method: "GET"
    })

    const html = await response.text();
    console.log(html)
})()

設定ファイルの管理

事前準備

# npm install config
config/default.json
{
    "aa": {
        "bb": "cc"
    }
}

コードサンプル

"use strict";

import config from "config"

const aa_bb = config.aa.bb;
console.log(aa_bb ); // cc
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2