package.jsonは手動で編集することになっていますか?npmのようなプログラムは、ファイルを調べて「require」ステートメントを確認し、それを使用してpackage.jsonファイルに必要なエントリを配置できないのでしょうか。そのようなプログラムはありますか?
package.jsonは手動で編集することになっていますか?npmのようなプログラムは、ファイルを調べて「require」ステートメントを確認し、それを使用してpackage.jsonファイルに必要なエントリを配置できないのでしょうか。そのようなプログラムはありますか?
回答:
package.jsonファイルは、node.jsプロジェクトについて学習するためにnpmによって使用されます。
npm init
あなたのためにpackage.jsonファイルを生成するために使用してください!
npmにバンドルされています。こちらのドキュメントをご覧ください。https://docs.npmjs.com/cli/init
また、このファイルをプログラムで生成するために使用できる公式のツールがあります:https : //github.com/npm/init-package-json
npm init
は私が探していたものでした!また、その後は通常npm shrinkwrap
、npm-shrinkwrap.json
ファイルを作成するために実行します
npm init
:npm install <pkg> --save
後で使用してパッケージをインストールし、package.jsonファイルに依存関係として保存します。
npm init
Visual Studio 2015からパッケージマネージャーコンソールで実行した後、[...] Press ^C at any time to quit.
何も要求したり、jsonファイルを作成したりせずに、表示および停止するだけです。何か不足していますか?
npm init --force --yes
このファイルを生成する1つのライナー
まず、実行します
npm init
... プロジェクト/パッケージに関するいくつかの質問(最初にお読みください)を尋ね、package.jsonファイルを生成します。
次に、package.jsonファイルを取得したら、
npm install <pkg> --save
または
npm install <pkg> --save-dev
...依存関係をインストールして、自動的にあなたpackage.json
のdependencies
リストに追加します。
(注:依存関係のバージョン範囲を手動で微調整する必要がある場合があります。)
package.json
。通常は自動的に処理されます。
--save
新しいnpmバージョンでは不要になりました
依存関係を./node_modulesに収集するための簡単なスクリプトを書いたところです。現時点では私の要件を満たしています。これは他の人を助けるかもしれません、私はここに投稿します。
var fs = require("fs");
function main() {
fs.readdir("./node_modules", function (err, dirs) {
if (err) {
console.log(err);
return;
}
dirs.forEach(function(dir){
if (dir.indexOf(".") !== 0) {
var packageJsonFile = "./node_modules/" + dir + "/package.json";
if (fs.existsSync(packageJsonFile)) {
fs.readFile(packageJsonFile, function (err, data) {
if (err) {
console.log(err);
}
else {
var json = JSON.parse(data);
console.log('"'+json.name+'": "' + json.version + '",');
}
});
}
}
});
});
}
main();
私の場合、上記のスクリプトは次のように出力します。
"colors": "0.6.0-1",
"commander": "1.0.5",
"htmlparser": "1.7.6",
"optimist": "0.3.5",
"progress": "0.1.0",
"request": "2.11.4",
"soupselect": "0.2.0", // Remember: remove the comma character in the last line.
これで、それらをコピーして貼り付けることができます。楽しんで!
npm ls --depth=0
もほぼ同じように印刷されることに注意してください(ただし、2012年の場合と同じかどうかは
a
、パッケージは、a
パッケージを必要とb
し、c
すべてのレベルなので、このスクリプトの意志の出力をa
、b
、c
であるではないが正しいです。出力のみa
で、サブパッケージは自動的に解決されます。
npm init
package.jsonファイルを作成してから、
ls node_modules/ | xargs npm install --save
node_modulesフォルダーにあるモジュールを入力します。
編集:@paldepind npm init
は、node_modules /フォルダーにあるものを自動的に追加するため、2番目のコマンドは冗長であることを指摘しました。これが常に当てはまるかどうかはわかりませんが、少なくとも2番目のコマンドがなくても機能します。
npm init
インストールされたパッケージに基づいて依存関係が自動的に追加され、2番目のコマンドを実行する必要がないことがわかりました。
npm dedupe
、を使用する場合にも非常に役立ちます。これは、モジュール間で共有される依存関係をそれらのモジュールからプルし、それらをnode_modules
ディレクトリの最上位に格納します。しかし、それは触れませんpackage.json
!これにより、重複排除されたセットアップをコミットして共有できます。
コマンドライン:
npm init
package.jsonファイルを作成します
依存関係にあるパッケージをpackage.jsonファイルにインストール、更新、およびアンインストールするには:
コマンドライン:
npm install <pkg>@* --save
依存関係にあるパッケージの最新バージョンをpackage.jsonファイルに自動的に追加します
例:
npm install node-markdown@* --save
コマンドライン:
npm install <pkg> --save
また、依存関係にあるパッケージの最新バージョンをpackage.jsonファイルに自動的に追加します
パッケージに特定のバージョンが必要な場合は、次のコマンドラインを使用します。
npm install <pkg>@<version> --save
依存関係の下にあるパッケージの特定のバージョンをpackage.jsonファイルに自動的に追加します
例:
npm install koa-views@1.0.0 --save
パッケージに特定のバージョンのバージョンが必要な場合は、次のコマンドラインを使用します。
npm install <pkg>@<version range>
依存関係の下のバージョンの範囲の間のパッケージの最新バージョンをpackage.jsonファイルに自動的に追加します
例:
npm install koa-views@">1.0.0 <1.2.0" --save
以下のためのパッケージのバージョンを作成する方法の詳細についてNPMドク
コマンドライン:
npm update --save
パッケージをpackage.jsonファイルに更新し、依存関係にあるすべてのパッケージの更新バージョンをpackage.jsonファイルに自動的に追加します
コマンドライン:
npm uninstall <pkg> --save
パッケージを依存関係からpackage.jsonファイルに自動的に削除し、node_moduleフォルダーからパッケージを削除します
これで、使用することができます現代のWebアプリケーションの足場ツール-ヨーマンの簡単3つのステップを使用してノード端子に。
まず、yoとその他の必要なツールをインストールする必要があります。
$ npm install -g yo bower grunt-cli gulp
Webアプリケーションをスキャフォールディングするには、generator-webappジェネレーターをインストールします。
$ npm install -g generator-webapp // create scaffolding
実行して...すべて完了です:
$ yo webapp // create scaffolding
Yeomanは、Webアプリケーション全体またはコントローラーとモデルの定型コードを記述できます。編集とコンパイルのためにライブプレビューWebサーバーを起動できます。単体テストの実行、コードの最小化と連結、画像の最適化なども可能です...
Yeoman(yo) -ジェネレーターと呼ばれるフレームワーク固有の足場のエコシステムを提供する足場ツールで、前述の面倒なタスクのいくつかを実行するために使用できます。
Grunt / gulp-プロジェクトのビルド、プレビュー、およびテストに使用されます。
Bower-依存関係の管理に使用されるため、フロントエンドライブラリを手動でダウンロードする必要はありません。
コマンドnpm init -fを使用してpackage.jsonファイルを生成し、その後、各コマンドの後に--saveを使用して、各モジュールがexのpackage.json内で自動的に更新されるようにします:npm install express --save
場合はgitとGitHubのユーザー:
generate-package
より簡単に、よりnpm init
。
そうしないと
および/またはあなたはpackage.json
テンプレートを好きではありません、それはgenerate-packageまたはnpm init
generate:
足場アプリを介して、generate、sails、またはyeomanとして独自のテンプレートを生成できます。
この回答は2018年3月に関連しています。将来、この回答のデータは廃止される可能性があります。
この回答の作成者は、2018年3月に個人的にgenerate-packageを使用しました。
generate-packageを使用するには、gitとGitHubを使用する必要があります。
たとえば、空のフォルダを作成しますsasha-npm-init-vs-generate-package
。
コマンド:
D:\SashaDemoRepositories\sasha-npm-init-vs-generate-package>gen package
[16:58:52] starting generate
[16:59:01] √ running tasks: [ 'package' ]
[16:59:04] starting package
? Project description? generate-package demo
? Author's name? Sasha Chernykh
? Author's URL? https://vk.com/hair_in_the_wind
[17:00:19] finished package √ 1m
package.json
:
{
"name": "sasha-npm-init-vs-generate-package",
"description": "generate-package demo",
"version": "0.1.0",
"homepage": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package",
"author": "Sasha Chernykh (https://vk.com/hair_in_the_wind)",
"repository": "Kristinita/sasha-npm-init-vs-generate-package",
"bugs": {
"url": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package/issues"
},
"license": "MIT",
"engines": {
"node": ">=4"
},
"scripts": {
"test": "mocha"
},
"keywords": [
"generate",
"init",
"npm",
"package",
"sasha",
"vs"
]
}
D:\SashaDemoRepositories\sasha-npm-init-vs-generate-package>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (sasha-npm-init-vs-generate-package)
version: (1.0.0) 0.1.0
description: npm init demo
entry point: (index.js)
test command: mocha
git repository: https://github.com/Kristinita/sasha-npm-init-vs-generate-package
keywords: generate, package, npm, package, sasha, vs
author: Sasha Chernykh
license: (ISC) MIT
About to write to D:\SashaDemoRepositories\sasha-npm-init-vs-generate-package\package.json:
{
"name": "sasha-npm-init-vs-generate-package",
"version": "0.1.0",
"description": "npm init demo",
"main": "index.js",
"scripts": {
"test": "mocha"
},
"repository": {
"type": "git",
"url": "git+https://github.com/Kristinita/sasha-npm-init-vs-generate-package.git"
},
"keywords": [
"generate",
"package",
"npm",
"package",
"sasha",
"vs"
],
"author": "Sasha Chernykh",
"license": "MIT",
"bugs": {
"url": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package/issues"
},
"homepage": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package#readme"
}
Is this ok? (yes) y
{
"name": "sasha-npm-init-vs-generate-package",
"version": "0.1.0",
"description": "npm init demo",
"main": "index.js",
"scripts": {
"test": "mocha"
},
"repository": {
"type": "git",
"url": "git+https://github.com/Kristinita/sasha-npm-init-vs-generate-package.git"
},
"keywords": [
"generate",
"package",
"npm",
"package",
"sasha",
"vs"
],
"author": "Sasha Chernykh",
"license": "MIT",
"bugs": {
"url": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package/issues"
},
"homepage": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package#readme"
}
私は、考えてgenerate-package
いることを、より簡単にnpm init
。
npm link