LoginSignup
2
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-04-01

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);

参考文献

2
3
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
3