2020-01-27 :-|
_ 労
ストレージ労。粛々と
_ [npm][testing][JSON][mock]JSON のための mock サーバー
typicode/json-server: Get a full fake REST API with zero coding in less than 30 seconds (seriously)
JSON を返すためだけのものです。他のコンテンツは返せないもよう。
環境
Arch Linux
準備
npm をインストールする
% sudo pacman -S npm
npm install したら怒られた
% sudo npm install json-server node: error while loading shared libraries: libicui18n.so.64: cannot open shared object file: No such file or directory
help だけでもダメ
% npm --help node: error while loading shared libraries: libicui18n.so.64: cannot open shared object file: No such file or directory
これか? https://www.archlinux.org/packages/core/x86_64/icu/files/
インストール済みだった。じゃあ違うな。
% pacman -Ss icu core/icu 65.1-2 [インストール済み] International Components for Unicode library
nodejs を入れ直してみる。衝突してるとか言ってますね。これが原因か?
% sudo pacman -S nodejs 依存関係を解決しています... 衝突するパッケージがないか確認しています... :: nodejs と nodejs-lts-carbon が衝突しています。nodejs-lts-carbon を削除しますか? [y/N] y パッケージ (2) nodejs-lts-carbon-8.16.0-1 [削除] nodejs-13.7.0-1 合計ダウンロード容量: 7.29 MiB 合計インストール容量: 26.54 MiB 最終的なアップグレード容量: 7.91 MiB :: インストールを行いますか? [Y/n] :: パッケージを取得します... nodejs-13.7.0-1-x86_64 7.3 MiB 25.2 MiB/s 00:00 [----------------------------------------------] 100% (1/1) キーリングのキーを確認 [----------------------------------------------] 100% (1/1) パッケージの整合性をチェック [----------------------------------------------] 100% (1/1) パッケージファイルのロード [----------------------------------------------] 100% (1/1) ファイルの衝突をチェック [----------------------------------------------] 100% (2/2) 空き容量を確認 [----------------------------------------------] 100% :: パッケージの変更を処理しています... (1/1) 削除 nodejs-lts-carbon [----------------------------------------------] 100% (1/1) インストール nodejs [----------------------------------------------] 100% nodejs の提案パッケージ npm: nodejs package manager [インストール済み] :: トランザクション後のフックを実行... (1/1) Arming ConditionNeedsUpdate...
再度実行。 OK らしい
% npm --help Usage: npm <command> where <command> is one of: access, adduser, audit, bin, bugs, c, cache, ci, cit, clean-install, clean-install-test, completion, config, create, ddp, dedupe, deprecate, dist-tag, docs, doctor, edit, explore, fund, get, help, help-search, hook, i, init, install, install-ci-test, install-test, it, link, list, ln, login, logout, ls, org, outdated, owner, pack, ping, prefix, profile, prune, publish, rb, rebuild, repo, restart, root, run, run-script, s, se, search, set, shrinkwrap, star, stars, start, stop, t, team, test, token, tst, un, uninstall, unpublish, unstar, up, update, v, version, view, whoami npm <command> -h quick help on <command> npm -l display full usage info npm help <term> search for help on <term> npm help npm involved overview Specify configs in the ini-formatted file: /home/miwa/.npmrc or on the command line via: npm <command> --key value Config info can be viewed via: npm help config npm@6.13.6 /usr/lib/node_modules/npm
インストールできた
% sudo npm install -g json-server /usr/bin/json-server -> /usr/lib/node_modules/json-server/lib/cli/bin.js + json-server@0.15.1 added 237 packages from 128 contributors in 6.235s
試す
db.json を用意する
{ "posts": [ { "id": 1, "title": "json-server", "author": "typicode" } ], "comments": [ { "id": 1, "body": "some comment", "postId": 1 } ], "profile": { "name": "typicode" } }
起動する。 hi!
% json-server --watch db.json \{^_^}/ hi! Loading db.json Done Resources http://localhost:3000/posts http://localhost:3000/comments http://localhost:3000/profile Home http://localhost:3000 Type s + enter at any time to create a snapshot of the database Watching...
とりあえずアクセスしてみる
コンソールにはこんなのが出る
GET /posts/1 200 6.463 ms - 63
ウェブブラウザにはこんなのが出る。ok
{ "id": 1, "title": "json-server", "author": "typicode" }
静的ファイル Static file server
JSON or HTML or CSS は返せるとのこと。
mkdir public echo 'hello world' > public/index.html json-server db.json
ローカルにアクセス
ウェブブラウザにはこんな
hello world
_ [python][http][ウェブサーバー][testing]python の簡易ウェブサーバー
環境
- Arch Linux
- python3
試す1
サーバー起動
% python -m http.server
アクセスする。はい
% curl http://localhost:8000/ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Directory listing for /</title> </head> <body> <h1>Directory listing for /</h1> <hr> <ul> <li><a href="db.json">db.json</a></li> <li><a href="hoge.txt">hoge.txt</a></li> <li><a href="public/">public/</a></li> </ul> <hr> </body> </html>
試す2
テキトーなコンテンツを返却してみる。
% mkdir public % echo 'hogehoge' > public/hoge.txt % python -m http.server
取得。はい
% curl http://localhost:8000/public/hoge.txt hogehoge