是包。Json应该手动编辑?像npm这样的程序不能只查看文件,看到“require”语句,然后使用它将必要的条目放入包中吗?json文件吗?有这样的节目吗?


当前回答

简单的回答:将已安装的npm模块添加到包中。Json不存在,使用

npm init -y

然后你就可以做了

npm i <module-name>

它会将该模块添加到package。json中

其他回答

首先,运行

npm init

...会问你一些关于你的项目/包的问题(先读这篇文章),然后生成一个包。Json文件。

然后,一旦你有了一个包。Json文件,使用

npm install <pkg> --save

or

npm install <pkg> --save-dev

...安装依赖项并自动将其附加到包中。Json的依赖列表。

(注意:您可能需要手动调整依赖项的版本范围。)

基于Pylinux的回答,下面是针对Windows操作系统的解决方案,

dir node_modules > abc.txt
FOR /F %k in (abc.txt) DO npm install --save

希望能有所帮助。

简单的回答:将已安装的npm模块添加到包中。Json不存在,使用

npm init -y

然后你就可以做了

npm i <module-name>

它会将该模块添加到package。json中

1. 选择

如果你是git和GitHub用户:

生成包比NPM init更简单。

else

或者你不喜欢包装。Json模板,生成包或NPM init生成:

你可以通过脚手架应用生成自己的模板,如generate, sails或yeoman。


2. 相关性

这个答案与2018年3月有关。在未来,来自这个答案的数据可能会过时。

这个答案的作者个人在2018年3月使用了generate-package。


3.限制

你需要使用git和GitHub来使用生成包。


4. 示范

例如,我创建了一个空白文件夹sasha-npm-init-vs-generate-package。

4.1. 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"
  ]
}

4.2. npm init

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。


5. 定制

创建你自己的包。Json模板,见生成和yeoman的例子。

您现在可以使用Yeoman -现代Web应用程序脚手架工具节点终端使用3个简单的步骤。

首先,你需要安装yo和其他必要的工具:

$ npm install -g yo bower grunt-cli gulp

要构建一个web应用程序,请安装generator-webapp generator:

$ npm install -g generator-webapp  // create scaffolding 

跑啊,然后…你都完成了:

$ yo webapp  // create scaffolding 

Yeoman可以为您的整个web应用程序或控制器和模型编写样板代码。它可以启动实时预览web服务器进行编辑和编译;不仅如此,您还可以运行您的单元测试,最小化和连接您的代码,优化图像,等等……

Yeoman (yo) -脚手架工具,提供特定于框架的脚手架生态系统,称为生成器,可用于执行前面提到的一些乏味的任务。

Grunt / gulp -用于构建、预览和测试项目。

Bower -用于依赖管理,因此您不再需要手动下载前端库。