nodejsは自分で編纂してモジュールを発表します.
4620 ワード
1新規モジュールディレクトリ構造
アルバムmgr
--lib(フォルダ)
--test(フォルダ)
package.json
Readkme.md
2 package.jsonファイルを作成する
nodeがpackage.jsonファイルが見つからない場合、または指定されたmain jsファイルがない場合、index.jsまたはindex.nodeを探してモジュールのコンパイルを完了します.
同時に、npmモジュール名はalbum-managerで、デフォルトの起動jsファイルはalbums.jsで、libサブディレクトリの下にあります.
3 Readme.md(オプション)
モジュールは、ドキュメント、github.comで使用される標準ファイルのフォーマットを説明します.
4コアjsファイルを作成する
albums.jsとalbum.jsを編纂してlibディレクトリの下に入れます.
albums.js
test.js
結果:
American
[]
China
[’CA Technologies.png’、
'Caterpillar.jpg'
'Charter.jpg'は、
'chbb.png'
'Chunghwa Telecome.jpg'は、
'CIFIN.png'は、
'Cinti.png'は、
'CMC.jpg'は、
'Coca Cola.png'
インディアン
[]
ドーン
6ローカル展開モジュール
package.jsonに「prvate」を追加します.trueはnpmにmoduleをまだnpmライブラリに配置していないと伝えました.今はnpm linkでnpmにローカルのデフォルトライブラリにlinkを置いてalbum-managerカバンに接続します.
C:\Users\xode\albumumgr>npm link
C:\Users\xxx\Appdata\Romingpmodes\album-manager->C:\Users\xode\albumumgr
7モジュールの使用
上に配置したローカルモジュールを使うには、まだ二つの仕事が必要です.
(1)コードの中で「album-manager」を引用するのは「albumumgr」ではなく、npmはpackage.jsonの中のname値を使うからです.
(2)モジュールを使用する各プロジェクトのために、npmでalbum-managerモジュールへの参照を作成する.
C:\Users\xxx>mkdir testuploject
C:\Users\xxx>cd testuproject
C:\Users\xxx\testuploject>npm link album-manager
C:\Users\xodemumodules\album-manager->C:\Users\xxx\Appdata\Romingpmodemumodules\album-manager->C:\Users\xode\albumumgr
C:\Users\xxx>dir nodemumodules
Volume in drive C hasのlabel.
Volume Serial Number is 2 CD-F 330
Directory of C:\Users\xxodeumodules
07/07/2014 11:03 AM .
07/07/2014 11:03 AM ..
07/07/2014 11:03 AM album-manager[C:\Users\xxx\アプリData\Romingpmodes\album-manager]
06/24/2014 03:01 PM formidable
0 File(s) 0 bytes
4 Dir(s) 5,949,730,816 bytes free
8モジュールのリリース
作成したモジュールを他の人に共有したいなら、npm publishコマンドで公式のnpmに登録してください.
(1)package.jsonのprvate行を削除する
(2)npm adduserでnpm登録サーバにアカウントを作成する
(3)モジュールディレクトリでnpm pblishを実行してnpmにプッシュします.
C:\Users\xxx>npm adduser
Username:myname
Password:
Email:(this IS public)[email protected]
C:\Users\xode\albumuumgr>npm pblish
[email protected]
npm登録からキャンセルしたいなら、発表も簡単です.
C:\Users\xode\albumumgr>npm unpublish
npm ERR!Refusing to delete entire project.
npm ERR!Run with--force to do this.
npm ERR!npm unpublish<project>[@npm ERR!not ok code 0
C:\Users\xode\albumumgr>npm unpublish--force
npm WARN using--force I sure hope you know what you are dong.
[email protected]
フォースで強制的にリリースをキャンセルします.
アルバムmgr
--lib(フォルダ)
--test(フォルダ)
package.json
Readkme.md
2 package.jsonファイルを作成する
{
"name": "album-manager",
"version": "1.0.0",
"main": "./lib/albums.js",// main
//"private": true
}
このファイルは少なくともモジュール名nameとmain jsファイルを含んで、nodeはこのファイルからモジュールをロードすることができます.nodeがpackage.jsonファイルが見つからない場合、または指定されたmain jsファイルがない場合、index.jsまたはindex.nodeを探してモジュールのコンパイルを完了します.
同時に、npmモジュール名はalbum-managerで、デフォルトの起動jsファイルはalbums.jsで、libサブディレクトリの下にあります.
3 Readme.md(オプション)
モジュールは、ドキュメント、github.comで使用される標準ファイルのフォーマットを説明します.
4コアjsファイルを作成する
albums.jsとalbum.jsを編纂してlibディレクトリの下に入れます.
albums.js
var fs = require('fs'),album = require('./album.js');
exports.version = "1.0.0";
exports.albums = function (root, callback) {...};
album.jsvar path = require('path'),fs = require('fs');
function Album(album_path){
this.name = path.basename(album_path);
this.path = album_path;
}
Album.prototype.name = null;
Album.prototype.path = null;
Album.prototype._photos = null;
Album.prototype.photos = function(callback){...};
exports.create_album = function(path){
return new Album(path);
}
5テスト用の例を書いてテストします.test.js
var amgr = require('./album_mgr');
amgr.albums('./',function(err,albums){
if(err){
console.log('unexpected error: ' + JSON.stringify(err));
return;
}
(function iterator(index){
if(index == albums.length){
console.log('Done');
return;
}
albums[index].photos(function(err,photos){
if(err){
console.log('Err loading albums: ' + JSON.stringify(err));
return;
}
console.log(albums[index].name);
console.log(photos);
console.log('');
iterator(index +1);
});
})(0);
})
node node\test.js結果:
American
[]
China
[’CA Technologies.png’、
'Caterpillar.jpg'
'Charter.jpg'は、
'chbb.png'
'Chunghwa Telecome.jpg'は、
'CIFIN.png'は、
'Cinti.png'は、
'CMC.jpg'は、
'Coca Cola.png'
インディアン
[]
ドーン
6ローカル展開モジュール
package.jsonに「prvate」を追加します.trueはnpmにmoduleをまだnpmライブラリに配置していないと伝えました.今はnpm linkでnpmにローカルのデフォルトライブラリにlinkを置いてalbum-managerカバンに接続します.
C:\Users\xode\albumumgr>npm link
C:\Users\xxx\Appdata\Romingpmodes\album-manager->C:\Users\xode\albumumgr
7モジュールの使用
上に配置したローカルモジュールを使うには、まだ二つの仕事が必要です.
(1)コードの中で「album-manager」を引用するのは「albumumgr」ではなく、npmはpackage.jsonの中のname値を使うからです.
(2)モジュールを使用する各プロジェクトのために、npmでalbum-managerモジュールへの参照を作成する.
C:\Users\xxx>mkdir testuploject
C:\Users\xxx>cd testuproject
C:\Users\xxx\testuploject>npm link album-manager
C:\Users\xodemumodules\album-manager->C:\Users\xxx\Appdata\Romingpmodemumodules\album-manager->C:\Users\xode\albumumgr
C:\Users\xxx>dir nodemumodules
Volume in drive C hasのlabel.
Volume Serial Number is 2 CD-F 330
Directory of C:\Users\xxodeumodules
07/07/2014 11:03 AM
07/07/2014 11:03 AM
07/07/2014 11:03 AM
06/24/2014 03:01 PM
0 File(s) 0 bytes
4 Dir(s) 5,949,730,816 bytes free
8モジュールのリリース
作成したモジュールを他の人に共有したいなら、npm publishコマンドで公式のnpmに登録してください.
(1)package.jsonのprvate行を削除する
(2)npm adduserでnpm登録サーバにアカウントを作成する
(3)モジュールディレクトリでnpm pblishを実行してnpmにプッシュします.
C:\Users\xxx>npm adduser
Username:myname
Password:
Email:(this IS public)[email protected]
C:\Users\xode\albumuumgr>npm pblish
[email protected]
npm登録からキャンセルしたいなら、発表も簡単です.
C:\Users\xode\albumumgr>npm unpublish
npm ERR!Refusing to delete entire project.
npm ERR!Run with--force to do this.
npm ERR!npm unpublish<project>[@
C:\Users\xode\albumumgr>npm unpublish--force
npm WARN using--force I sure hope you know what you are dong.
[email protected]
フォースで強制的にリリースをキャンセルします.