ノードノート
- FSコアモジュールreadFileの、READDIR
- HTTPコアモジュールcreateServer、聞く、上
- パスurl.parseから削除URLコアモジュール
- サーバー側のリダイレクト
//301是永久重定向 单向性
res.statusCode = 302 //临时重定向
res.setHeader('Location',path) //设置重定向的路径
5.露光ルール
- モジュールは、各オブジェクトのモジュールを有しているように、それは理解することができます
const module={ exports:{} }
そして、そこにモジュールがエクスポートオブジェクトで、そして最後にreturn module.exports
、これは私たちが見ることができないノードの一番下にあります- これでファイルがmodule.exportsはを取得する、そのファイルが必要です
- しかし、通常、私たちは、この文言を見ることができます
exports.
- しかし、我々はまた、通常、このような文言を使用することができるか
exports.a = 'hello nodejs'
、この場合ということexports是什么?
- 実際には、声明もある
const exports = module.exports
繰り返しますが、これは基本的な実装であります - 別のケースでは
exports = 'hello nodejs'
、最後のリターンは、輸出をmodule.exportsはされていないため、これは権利ではありません
module.exports = 'hello nodejs'
exports.foo = 'helle' //这样的话会报错因为module.exports已经被改成了一个字符串,不是一个对象了。
6.require雨水管ルール
- 優先的には、キャッシュからロードされました
- 6.1カーネルモジュールは、ノードがオープンソースであるため、彼らはまた、対応するファイルを持っていることを、ロードされたカーネル・モジュールであるので、これは、このようなURLは、httpのlibディレクトリにある、などのFS、としてこれらの文書のgithubのソース上で閲覧することができます
require('fs) ....
- 同様のパスではありません6.2サードパーティ製のモジュール我々は通常NPMパッケージ、言葉遣いやコアモジュール
require('jquery') ......
- このルールは、それはその後、デフォルトますnode_modulesは、このディレクトリを見つけるようにロードし、このディレクトリにjqueryのディレクトリを見つけ、このディレクトリ内のpackage.jsonの主な属性を見つけ、jQueryのjsのモジュールの記録のプロパティメインの入り口れますこのパッケージはロードされた、または実際のファイルをロードしています。
- 全く何のpackage.jsonまたはメインパスが存在しない場合は、index.jsファイルは、デフォルトのファイル選択ではありませんが、ファイルが実行されない場合にはエラーになります。
- !!! 重点 !!! 上記のすべてが成立しない場合は、このディレクトリnode_modulesに見つからないよう、「あなたが発見していない場合、それは缶をエラーになり、ディスクのルートディレクトリにクエリを知って調べ、このnode_modulesせずにディレクトリのデフォルトが存在しますtはモジュールxxxのを見つけます
- 6.3ロードするために、独自のjsファイルを書く
require('./index.js')
、独自のJSファイルは、その後、パスが書き込まれていない場合は、取るためにパス上に書かれなければならないが、それはコアモジュールではなく、サードパーティ製のパッケージではありません、確かに文句を言うだろう。