Node.js

Node.jsでハマったことまとめ

Node.jsでハマったことまとめ

初期設定

package.jsonの作成に失敗する(Windows)

 package.jsonの作成手順は以下の通りなのですが、エラーが出てpackage.jsonが作成できないことがあります。
 WindowsのC:\ドライブ直下にファイルが作れないのが原因。コマンドプロンプトを管理者として実行することで回避できます。

作成失敗例
C:\>npm init

(中略)

package name: package_list
version: (1.0.0) 0.0.0
description:
entry point: (index.js)
test command:
git repository:
keywords:
author: fummimix
license: (ISC)
About to write to C:\package.json:

(中略)

Is this ok? (yes)
npm ERR! path C:\package.json
npm ERR! code EPERM
(以下略)

モジュール関連

モジュールを外部ファイルから呼び出す

node.jsで外部ファイルのJavaScriptを呼び出す - Node.js/JavaScript入門

HTTP/HTTPSリクエストを楽にやりたいので、requestモジュールを使いたいのだが……

 requestモジュールを入れないと当然ながら使えないので、"npm install request"してから使いましょう。requestを使うことでGET/POSTがかなり楽にできるので入れておくと良いです。

エラー例
C:\node>node app.js
module.js:545
    throw err;
    ^

Error: Cannot find module 'request'
(以下略)
インストール例
C:\>npm install request
npm WARN package_list@0.0.0 No description
npm WARN package_list@0.0.0 No repository field.

+ request@2.85.0
added 1 package in 1.876s

node.jsでjsonファイル読み込んだらキャッシュされて困った

 常にキャッシュなしで読み込む場合は、fs.readFileSyncを使う。1

制御

特定の処理を一定間隔でやりたい

 while(1) {}と自作のsleep関数で……いやいやsetIntervalが便利ですね!!2

30秒おきに特定のURLのBodyを取ってくる例
var webclient = require("request");

setInterval(function () {
  webclient.get({
    url: "(対象のURL)",
  }, function (error, response, body) {
    console.log(body);
  });
}, 3000);

参考文献