今回はNodejsが独自のnpmパッケージを公開してコマンドラインツール化する手順について詳しく解説します Nodejsが独自のnpmパッケージを公開してコマンド化する際の注意事項とは何ですか?次に実際のケースを見てみましょう。
<span style="font-family:Arial, Helvetica, sans-serif;background-color:rgb(255,255,255);">近日当我在使用npm上已经存在的一个包时,发现它有bug;于是决定自己实现这个功能,自己写一个npm包。</span>
それでは、実装プロセスを記録します。
1. npm init
フォルダーを選択し、コマンドラインを使用してそのフォルダーに移動し、npm init を実行します。この時点で、フォームの長いリストが生成されます。実際の状況に応じて内容を変更してくださいname : パッケージの名前を入力します。デフォルトはフォルダーの名前です。ただし、ここで強調したいのは、npm にアクセスして、同じ名前のパッケージがあるかどうかを確認するのが最善であるということです。テストするための最良の方法は、希望する名前を使用してコマンド ラインに npm install を入力することです。エラーが報告された場合は、npm 上に同じ名前のパッケージが存在しないため、安心してパッケージを公開できます。正常にダウンロードされた場合。 。 。なので残念ながら名前を変更します。 。 。バージョン: パッケージのバージョン、デフォルトは 1.0.0 です
説明: 実際には、それが何であるかわかりません。Enter キーを押してください。 。 。 、パッケージの用途を一文で説明します
エントリーポイント:エントリーファイル、デフォルトはIndex.jsです、独自のファイル名を入力することもできます
テストコマンド:testコマンドこれはまだ必要ないため、Enter キーを押してください。
git リポジトリ: これは git ウェアハウスのアドレスです。パッケージが最初に github または他の git ウェアハウスに配置された場合、フォルダー内に隠された .git ディレクトリが存在し、npm はこのディレクトリをデフォルト値として読み取ります。このアイテムの場合。そうでない場合は、Enter キーを押して続行してください。
キーワード: これは重要な点であり、npm パッケージを検索する人の数に関係します。このパッケージのインデックスとして適切なキーワードを使用してみてください。私のパッケージは最初に Express で動作し、次にプラグインとして機能し、次にルートの登録に使用されます。このルートはファイル ディレクトリ dir に基づいているため、パッケージのインデックス キーを簡単に把握できます。
作成者: アカウントまたは github アカウントを記入してください
ライセンス: ここで Enter キーを押すだけです。これはオープン ソース ファイルです。 。 。
その後、「Are you ok?」と尋ねられます。 Enter を押して OK! その後、ファイル ディレクトリに戻って確認すると、余分な package.json ファイルがあることがわかりますその後、そのディレクトリに新しい Index.js ファイルを作成するか、エントリの値を変更しました。ファイル名もその値に変更されます。 私の npm プロジェクト パッケージ化されたコードはすべて lib に配置しているため、index.js には 1 つの文しかありません:module.exports=require('./lib')
2. npm public
独自の npm パッケージを作成した後、テストが問題なく実行された後、それを npm に公開できますまず npm アカウントを登録する必要があります npm コマンドでログインします次に、ディレクトリで npm 公開を使用します
注:通常、公開したコードを変更してから公開操作を実行する場合は、必ず package.json に移動してバージョンを変更してください。 1.0.0 から 1.0.1 に変更してから、npm public を実行すると、正常に公開されます。
3. コマンドラインツールを生成します
在使用 Nodejs 过程中,有很多包都支持全局安装,提供一个命令,然后在命令行我们就可以完成一些任务。有时候我们也需要开发这样的命令工具。在Node.js 中发现弄个命令行工具特别轻松。我使用的是commander包来生成命令行工具
$ npm install commander
然后cd到bin目录下,新建一个.js文件(名字自取),编写代码,在js文件顶部加上#!/usr/bin/env node
例如我的geAsar.js:
#!/usr/bin/env node var asar = require('../lib/geAsar') var program = require('commander'); program.version('v' + require('../package.json').version) .description('Manipulate asar archive files') program.command('pack <dir> <output>') .alias('p') .description('create asar archive') .action(function (dirpath, output) { asar.geAsar(dirpath,output); console.log(output+"文件成功生成"); }) program.parse(process.argv) if (program.args.length === 0) { program.help() }
然后还需在package.json中添加
"bin": { "geAsar": "./bin/geAsar.js" },
运行 node bin/geAsar.js 会显示当前文件夹下的所以文件和文件夹名。这个玩意儿真的跑起来了.
全局运行命令调试
install
如果在项目目录下运行没有问题,可以将当前目录模块安装到全局,也可以采用此方法来更新你的命令行工具
sudo npm install . -g
link
或者目录输入 npm link 会自动添加全局的 symbolic link ,然后就可以使用自己的命令了。 (我用的是这个)
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上がNodejs が独自の npm パッケージを公開し、コマンド ライン ツールにする手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。