{"id":196,"date":"2020-10-20T00:44:25","date_gmt":"2020-10-19T15:44:25","guid":{"rendered":"http:\/\/localhost:8000\/?p=196"},"modified":"2021-01-16T00:55:02","modified_gmt":"2021-01-15T15:55:02","slug":"serve-static-files","status":"publish","type":"post","link":"http:\/\/localhost:8000\/2020\/10\/serve-static-files.html","title":{"rendered":"\u30ed\u30fc\u30ab\u30ebPC\u3067WEB\u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u9759\u7684\u30d5\u30a1\u30a4\u30eb\u3092SERVE\u3059\u308b4\u3064\u306e\u65b9\u6cd5"},"content":{"rendered":"
\u6700\u8fd1\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3092\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u306e\u3067\u3059\u304c\u3001\u958b\u767a\u6642\u306b\u52d5\u4f5c\u78ba\u8a8d\u306e\u305f\u3081\u306b\u6761\u4ef6\u306b\u5408\u3046WEB\u30b5\u30a4\u30c8\u3092\u63a2\u3057\u51fa\u3059\u306e\u304c\u5927\u5909\u306a\u306e\u3067\u3001\u30ed\u30fc\u30ab\u30ebPC\u4e0a\u3067WEB\u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u3066\u9759\u7684\u30d5\u30a1\u30a4\u30eb\u3092SERVE\u3057\u305f\u304f\u306a\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002
\n\u30ed\u30fc\u30ab\u30ebPC\u3067\u7c21\u5358\u306b\u9759\u7684WEB\u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u308b\u65b9\u6cd5\u3092\uff14\u3064\u307b\u3069\u7d39\u4ecb\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n
\u81ea\u5206\u306f\u77e5\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001VS Code\u306e\u62e1\u5f35\u6a5f\u80fd\u3067Live Server<\/a>\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\u9759\u7684\u304a\u3088\u3073\u52d5\u7684\u30da\u30fc\u30b8\u306e\u30e9\u30a4\u30d6\u30ea\u30ed\u30fc\u30c9\u6a5f\u80fd\u3092\u5099\u3048\u305f\u30ed\u30fc\u30ab\u30eb\u958b\u767a\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3057\u3066\u304f\u308c\u308b\u62e1\u5f35\u6a5f\u80fd\u3067\u3059\u3002\u3053\u3061\u3089\u306b\u7279\u5fb4<\/a>\u304c\u5217\u6319\u3057\u3066\u3042\u308a\u307e\u3059\u3002<\/p>\n VS Code\u306eExtensions\u304b\u3089Live Server\u3092\u691c\u7d22\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059<\/p>\n \u4e00\u756a\u304a\u624b\u8efd\u306a\u65b9\u6cd5\u306f\u3001\u5bfe\u8c61\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066\u3001 \u30b5\u30fc\u30d0\u30fc\u304c\u7acb\u3061\u4e0a\u304c\u308a\u3001\u81ea\u52d5\u7684\u306b\u30d6\u30e9\u30a6\u30b6\u3067\u5bfe\u8c61\u306e\u30d5\u30a1\u30a4\u30eb\u3092OPEN\u3057\u3066\u304f\u308c\u307e\u3059\u3002 \u7acb\u3061\u4e0a\u304c\u3063\u305f\u30b5\u30fc\u30d0\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306fworkspace\u5168\u4f53\u3092\u516c\u958b\u3057\u307e\u3059\u3002<\/p>\n \u7279\u306b\u8a2d\u5b9a\u3057\u306a\u304f\u3066\u3082\u3044\u3044\u3068\u3082\u3044\u307e\u3059\u304c\u3001\u30dd\u30fc\u30c8\u756a\u53f7\u30fb\u5bfe\u8c61\u30d5\u30a9\u30eb\u30c0\u5909\u66f4\u3001https\u5bfe\u5fdc\u306a\u3069\u3092\u3084\u308a\u305f\u3044\u5834\u5408\u3001 UTF-8\u4ee5\u5916\u306e\u6587\u5b57\u30b3\u30fc\u30c9\u306e\u30d5\u30a1\u30a4\u30eb\u3067\u3082 superstatic<\/a>\u306fGoogle\u306eFirebase\u30b5\u30fc\u30d3\u30b9\u306e\u76f4\u4e0b\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3001HTML5 pushState\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u30af\u30ea\u30fc\u30f3URL\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u306a\u3069\u306e\u6a5f\u80fd\u3092\u5099\u3048\u305f\u9759\u7684WEB\u30b5\u30fc\u30d0\u3067\u3001CLI\u30fbAPI\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002\u8272\u3005\u3067\u304d\u308b\u307f\u305f\u3044\u306a\u306e\u3067\u3059\u304c\u3001\u4e00\u756a\u5b09\u3057\u3044\u306e\u304cResponse Header\u3092\u8a2d\u5b9a\u3067\u304d\u308b\u3053\u3068\u3067\u3059\u3002\u73fe\u5728\u3082\u958b\u767a\u304c\u7d9a\u3044\u3066\u3044\u308b\u70b9\u3082\u826f\u3044\u3067\u3059\u3002<\/p>\n \u308f\u3056\u308f\u3056\u66f8\u304f\u307b\u3069\u306e\u3053\u3068\u3082\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u6bce\u56de\u3053\u308c\u3092\u5165\u529b\u3059\u308b\u306e\u304c\u624b\u9593\u306a\u306e\u3067\u3001 \u306e\u3088\u3046\u306bnpm\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u8a2d\u5b9a\u3092\u3057\u3066\u304a\u3044\u3066\u3001<\/p>\n \u3067\u8d77\u52d5\u3059\u308b\u30b9\u30bf\u30f3\u30b9\u306b\u3057\u3066\u3042\u308a\u307e\u3059\u3002<\/p>\n \u30c7\u30d5\u30a9\u30eb\u30c8\u3060\u3068Live Server\u3068\u540c\u3058\u3088\u3046\u306b headers\u4ee5\u5916\u306b\u3082rewrites\u3084redirects\u8a2d\u5b9a\u3082\u3067\u304d\u308b\u307f\u305f\u3044\u3067\u3059\u3002\u8a73\u3057\u304f\u306f\u3001\u3053\u3061\u3089<\/a>\u3092\u53c2\u7167\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n python3\u306e http.server<\/a> \u3092\u4f7f\u3046\u624b\u3082\u3042\u308a\u307e\u3059\u3002\u6a19\u6e96\u30e2\u30b8\u30e5\u30fc\u30eb\u306a\u306e\u3067\u8ffd\u52a0\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u4e0d\u8981\u3067\u3059\u3002\u666e\u6bb5python\u3070\u304b\u308a\u66f8\u3044\u3066\u308b\u306e\u3067\u3001python\u3067\u5b8c\u7d50\u3059\u308b\u306e\u306f\u5730\u5473\u306b\u5b09\u3057\u3044\u6c17\u3082\u3057\u307e\u3059\u3002<\/p>\n \u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u3059\u3002<\/p>\n \u5229\u7528\u53ef\u80fd\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n Content-Type\u306bcharset\u306f\u8a2d\u5b9a\u3055\u308c\u307e\u305b\u3093\u3002\u307e\u305f\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u3060\u3068Response Header\u306e\u5024\u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n npm\u30e2\u30b8\u30e5\u30fc\u30eb\u3067 node-static<\/a> \u304c\u3042\u308a\u307e\u3059\u3002\u3053\u3061\u3089\u3082\u30b3\u30de\u30f3\u30c9\u4e00\u3064\u3067\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3057\u3066\u9759\u7684\u30d5\u30a1\u30a4\u30eb\u3092SERVE\u3057\u3066\u304f\u308c\u308b\u4fbf\u5229\u306a\u30c4\u30fc\u30eb\u3067\u3059\u304c\u3001\u6700\u8fd1\u958b\u767a\u3055\u308c\u3066\u306a\u3044\u3063\u307d\u3044\u306e\u3067\u3001\u3042\u3048\u3066\u4f7f\u3046\u3053\u3068\u3082\u306a\u3044\u304b\u3068\u306f\u601d\u3044\u307e\u3059\u3002<\/p>\n \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002\u7d50\u69cb\u8272\u3005\u3068\u8a2d\u5b9a\u3067\u304d\u308b\u307f\u305f\u3044\u3067\u3059\u3002<\/p>\n UTF-8\u3067\u4fdd\u5b58\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3082\u3001EUC-JP\u3067\u4fdd\u5b58\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3082\u3001\u3069\u3061\u3089\u3082SERVE\u3057\u305f\u5834\u5408\u3001 \u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3001\u5f37\u5236\u7684\u306bResponse Header\u306e\u5024\u3092\u5909\u66f4\u3059\u308b\u8a2d\u5b9a\u3067\u30b5\u30fc\u30d0\u3092\u8d77\u52d5\u3057\u3066\u307f\u305f\u306e\u3067\u3059\u304c\u3001\u6b8b\u5ff5\u306a\u304c\u3089Content-Type\u306e\u5024\u306f\u5909\u66f4\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002<\/p>\n \u3053\u3061\u3089\u306fISSUE<\/a>\u304c\u4e0a\u304c\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u3053\u3053\u6570\u5e74\u307b\u3068\u3093\u3069\u958b\u767a\u3055\u308c\u3066\u306a\u3044\u3053\u3068\u3092\u8003\u3048\u308b\u3068\u5bfe\u5fdc\u3055\u308c\u308b\u3053\u3068\u306f\u306a\u3044\u3067\u3057\u3087\u3046...<\/p>\n \u3069\u308c\u3092\u4f7f\u3046\u304b\u8ff7\u3046\u3068\u3053\u308d\u3060\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u7528\u9014\u306b\u5fdc\u3058\u3066\u4f7f\u3044\u5206\u3051\u308c\u3070\u826f\u3044\u304b\u306a\u3001\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n \u6700\u8fd1\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3092\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u306e\u3067\u3059\u304c\u3001\u958b\u767a\u6642\u306b\u52d5\u4f5c\u78ba\u8a8d\u306e\u305f\u3081\u306b\u6761\u4ef6\u306b\u5408\u3046WEB\u30b5\u30a4\u30c8\u3092\u63a2\u3057\u51fa\u3059\u306e\u304c\u5927\u5909\u306a\u306e\u3067\u3001\u30ed\u30fc\u30ab\u30ebPC\u4e0a\u3067WEB\u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u3066\u9759\u7684\u30d5\u30a1\u30a4\u30eb\u3092SERVE\u3057\u305f\u304f\u306a\u308b\u3053\u3068\u304c\u591a\u3044\u3067\u3059\u3002 \u30ed\u30fc\u30ab\u30ebPC\u3067\u7c21\u5358\u306b\u9759\u7684WEB\u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u308b\u65b9\u6cd5\u3092\uff14\u3064\u307b\u3069\u7d39\u4ecb\u3057\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002 VS Code \u306e Live Server\uff08\u304a\u3059\u3059\u3081\uff09 \u81ea\u5206\u306f\u77e5\u3089\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304c\u3001VS Code\u306e\u62e1\u5f35\u6a5f\u80fd\u3067Live Server\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002\u9759\u7684\u304a\u3088\u3073\u52d5\u7684\u30da\u30fc\u30b8\u306e\u30e9\u30a4\u30d6\u30ea\u30ed\u30fc\u30c9\u6a5f\u80fd\u3092\u5099\u3048\u305f\u30ed\u30fc\u30ab\u30eb\u958b\u767a\u30b5\u30fc\u30d0\u30fc\u3092\u8d77\u52d5\u3057\u3066\u304f\u308c\u308b\u62e1\u5f35\u6a5f\u80fd\u3067\u3059\u3002\u3053\u3061\u3089\u306b\u7279\u5fb4\u304c\u5217\u6319\u3057\u3066\u3042\u308a\u307e\u3059\u3002 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb VS Code\u306eExtensions\u304b\u3089Live Server\u3092\u691c\u7d22\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059 \u4f7f\u3044\u65b9 \u4e00\u756a\u304a\u624b\u8efd\u306a\u65b9\u6cd5\u306f\u3001\u5bfe\u8c61\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066\u3001Open with Live Server\u3059\u308b\u65b9\u6cd5\u3067\u3059 <\/span>Continue Reading<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[],"_links":{"self":[{"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/posts\/196"}],"collection":[{"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/comments?post=196"}],"version-history":[{"count":1,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/posts\/196\/revisions"}],"predecessor-version":[{"id":199,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/posts\/196\/revisions\/199"}],"wp:attachment":[{"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/media?parent=196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/categories?post=196"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/localhost:8000\/wp-json\/wp\/v2\/tags?post=196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n
\u4f7f\u3044\u65b9<\/h3>\n
Open with Live Server<\/code>\u3059\u308b\u65b9\u6cd5\u3067\u3059\u3002
\n<\/p>\n
\n<\/p>\n\u8a2d\u5b9a<\/h3>\n
.vscode\/settings.json<\/code>\u306b\u3066\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3059\u3002\u8a2d\u5b9a\u3067\u304d\u308b\u5185\u5bb9\u306f\u3053\u3061\u3089<\/a>\u3092\u53c2\u7167\u306e\u3053\u3068\u3002<\/p>\n
{\n "liveServer.settings.port": 9000,\n "liveServer.settings.root": "\/files\/",\n "liveServer.settings.https": {\n "enable": true,\n "cert": "\/hoge\/fuga\/server.cert",\n "key": "\/hoge\/fuga\/server.key",\n "passphrase": "xxxxx"\n },\n},<\/code><\/pre>\n
Charset\u306e\u6271\u3044<\/h3>\n
Content-Type: text\/html; charset=UTF-8<\/code>\u306e\u3088\u3046\u306bcharset\u304c\u5f37\u5236\u7684\u306bUTF-8\u306b\u306a\u3063\u3066\u3057\u307e\u3046\u3001\u3068\u3044\u3046\u554f\u984c\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u70b9\u3092\u89e3\u6d88\u3059\u308b\u65b9\u6cd5\u304c\u306a\u3055\u305d\u3046\u3067\u3059\u3002\u3002<\/p>\n
\u3044\u3044\u3068\u3053\u308d<\/h3>\n
\n
npm\u30d1\u30c3\u30b1\u30fc\u30b8\u306esuperstatic\uff08\u304a\u3059\u3059\u3081\uff09<\/h2>\n
\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n
npm install -g superstatic<\/code><\/pre>\n
\u4f7f\u3044\u65b9<\/h3>\n
superstatic<\/code>\u30b3\u30de\u30f3\u30c9\u3092\u5fc5\u8981\u306a\u5f15\u6570\u3092\u6307\u5b9a\u3057\u3066\u5b9f\u884c\u3059\u308b\u3060\u3051\u3067\u3059\u3002<\/p>\n
superstatic # \u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30923474\u756a\u30dd\u30fc\u30c8\u3067\u516c\u958b\nsuperstatic .\/static_files --port 9000 --host localhost # .\/static_files\u3092localhost\u306e9000\u756a\u30dd\u30fc\u30c8\u3067\u516c\u958b<\/code><\/pre>\n
package.json<\/code>\u306b<\/p>\n
{\n "scripts": {\n "serve": "superstatic .\/static_files --port 9000 --host 127.0.0.1"\n }\n}<\/code><\/pre>\n
npm run serve<\/code><\/pre>\n
Charset\u306e\u6271\u3044<\/h3>\n
Content-Type: text\/html; charset=utf-8<\/code>\u306b\u306a\u308b\u3088\u3046\u3067\u3059\u304c\u3001\u8a2d\u5b9a\u3067\u5909\u66f4\u3067\u304d\u307e\u3059\uff01
\nsuperstatic.json<\/code>\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u611f\u3058\u3067\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001Content-Type\u3092\u5b9f\u969b\u306b\u4e0a\u66f8\u304d\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3057\u305f\u3002<\/p>\n
{\n "headers": [\n {\n "source": "euc-jp.html",\n "headers": [\n {\n "key": "Content-Type",\n "value": "text\/html; charset=EUC-JP"\n }\n ]\n },\n {\n "source": "euc-jp.json",\n "headers": [\n {\n "key": "Content-Type",\n "value": "application\/json; charset=EUC-JP"\n }\n ]\n },\n \/\/ \u7701\u7565\n}<\/code><\/pre>\n
\u3044\u3044\u3068\u3053\u308d<\/h3>\n
\n
python3\u6a19\u6e96\u30e2\u30b8\u30e5\u30fc\u30eb\u306ehttp.server<\/h2>\n
\u4f7f\u3044\u65b9<\/h3>\n
python -m http.server # \u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30928000\u756a\u30dd\u30fc\u30c8\u3067\u516c\u958b\npython -m http.server 9000 --directory .\/static_files # .\/static_files\u30929000\u756a\u30dd\u30fc\u30c8\u3067\u516c\u958b<\/code><\/pre>\n
$ python -m http.server -h\nusage: server.py [-h] [--cgi] [--bind ADDRESS] [--directory DIRECTORY] [port]\n\npositional arguments:\n port Specify alternate port [default: 8000]\n\noptional arguments:\n -h, --help show this help message and exit\n --cgi Run as CGI Server\n --bind ADDRESS, -b ADDRESS\n Specify alternate bind address [default: all interfaces]\n --directory DIRECTORY, -d DIRECTORY\n Specify alternative directory [default:current directory]<\/code><\/pre>\n
Charset\u306e\u6271\u3044<\/h3>\n
\u3044\u3044\u3068\u3053\u308d<\/h3>\n
\n
npm\u30d1\u30c3\u30b1\u30fc\u30b8\u306enode-static<\/h2>\n
\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n
npm install -g node-static<\/code><\/pre>\n
\u4f7f\u3044\u65b9<\/h3>\n
static<\/code>\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3060\u3051\u3067\u3059\u3002\u5f15\u6570\u306a\u3057\u3060\u3068\u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u914d\u4e0b\u30928080\u30dd\u30fc\u30c8\u3067SERVE\u3057\u307e\u3059\u3002<\/p>\n
$ static\nserving "." at http:\/\/127.0.0.1:8080<\/code><\/pre>\n
$ static -h\nUSAGE: static [-p <port>] [<directory>]\n\nsimple, rfc 2616 compliant file streaming module for node\n\nOptions:\n --port, -p TCP port at which the files will be served [default: 8080]\n --host-address, -a the local network interface at which to listen [default: "127.0.0.1"]\n --cache, -c "Cache-Control" header setting, defaults to 3600\n --version, -v node-static version\n --headers, -H additional headers (in JSON format)\n --header-file, -f JSON file of additional headers\n --gzip, -z enable compression (tries to serve file of same name plus '.gz')\n --spa serve the content as a single page app by redirecting all non-file requests to the index html file\n --indexFile, -i specify a custom index file when serving up directories [default: "index.html"]\n --help, -h display this help message<\/code><\/pre>\n
Charset\u306e\u6271\u3044<\/h3>\n
Content-Type: text\/html<\/code>\u3068\u306a\u308a\u307e\u3057\u305f\u3002\u3069\u3046\u3084\u3089\u30bf\u30b0\u3084\u30d6\u30e9\u30a6\u30b6\u5074\u3067\u5224\u65ad\u3055\u305b\u308b\u30b9\u30bf\u30f3\u30b9\u306e\u3088\u3046\u3067\u3059\u3002<\/p>\n
static -p 9000 --headers '{"Content-Type": "text\/html; charset=EUC-JP"}'<\/code><\/pre>\n
\u3055\u3044\u3054\u306b<\/h1>\n
\n
\n