是包。Json应该手动编辑?像npm这样的程序不能只查看文件,看到“require”语句,然后使用它将必要的条目放入包中吗?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的例子。
其他回答
命令行:
npm init
将创建包。json文件
安装,更新和卸载依赖包到包。json文件:
命令行:
npm install <pkg>@* --save
将自动将依赖项下的包的最新版本添加到包中。json文件
EX:
npm install node-markdown@* --save
命令行:
npm install <pkg> --save
还会自动将依赖项下的包的最新版本添加到包中。json文件
如果你需要一个包的特定版本,使用这个命令行:
npm install <pkg>@<version> --save
将自动添加特定版本的包在依赖到包。json文件
EX:
npm install koa-views@1.0.0 --save
如果你需要一个包的特定版本范围,使用这个命令行:
npm install <pkg>@<version range>
将自动在依赖项下的版本范围内为包添加最新版本到包中。json文件
EX:
npm install koa-views@">1.0.0 <1.2.0" --save
有关如何为包npm Doc编写version的更多细节
命令行:
npm update --save
将包更新为包。Json文件,并将自动添加更新版本下的所有包依赖到包。json文件
命令行:
npm uninstall <pkg> --save
将自动将包从依赖项移到包中。并从node_module文件夹中删除包
NPM热
创建包。Json文件,然后使用
Ls node_modules/ | xargs NPM install——save
填写node_modules文件夹中的模块。
Edit: @paldepind指出第二个命令是多余的,因为npm init现在会自动添加你在node_modules/文件夹中的内容。我不知道是不是一直都是这样,但至少现在,它不需要第二个命令就能工作。
简单的回答:将已安装的npm模块添加到包中。Json不存在,使用
npm init -y
然后你就可以做了
npm i <module-name>
它会将该模块添加到package。json中
不,它不是。
是的,有可能。
是的,有。
有时,当您注释掉代码或尝试尝试新模块时,实验并不奏效。然后,在package.json中有额外的垃圾。下面的过程将清除它,得到一个实际使用的内容的干净列表和一个干净的node_modules文件夹。
[Linux]重建包。来自项目的依赖项
安装
[终端]安装自动安装程序:sudo npm Install -g auto- Install
使用
[IDE]注释/删除你js文件中的失败实验 [终端]进入项目文件夹:cd <项目文件夹> [Terminal]移除节点模块:rm -rf node_modules [终端]运行auto installer: auto-install。注意错误。 [终端]终止观察者:CTRL+C [终端]修复漏洞:npm审计Fix——force [终端]修复自动安装的错误 [终端]如果有错误,返回“运行自动安装程序”步骤
自动化
(快捷键(VS代码)。添加一个键盘快捷键数组的键绑定: { “关键”:“ctrl + alt +一个”, “命令”:“workbench.action.terminal.sendSequence”, " args ": { “文本”:“没有\ u000D” } },
警告
我猜auto-install是pre-async/await。如果一个文件包含这些,它将无法解析该js文件,然后它将自动删除仅在该文件中引用的任何依赖项。你可以添加 var autoInstallKeep = { foo:要求(“foo”) } 防止模块foo由于解析错误而自动卸载
首先,运行
npm init
...会问你一些关于你的项目/包的问题(先读这篇文章),然后生成一个包。Json文件。
然后,一旦你有了一个包。Json文件,使用
npm install <pkg> --save
or
npm install <pkg> --save-dev
...安装依赖项并自动将其附加到包中。Json的依赖列表。
(注意:您可能需要手动调整依赖项的版本范围。)
推荐文章
- Ajax会调用什么样的响应,比如'for (;;);{json data}的意思?
- 在JavaScript中将JSON字符串解析为特定对象原型
- “node_modules”文件夹应该包含在git存储库中吗
- 使用Jackson将JSON字符串转换为漂亮的打印JSON输出
- 使用package.json在全局和本地安装依赖项
- jQuery。由于转义了JSON中的单引号,parseJSON抛出“无效JSON”错误
- 用c#解析JSON
- this.libOptions.parse不是一个函数
- 对嵌套文件夹运行npm install的最好方法是什么?
- 节点Multer异常字段
- 在Ubuntu上安装Bower
- 很好的初学者教程socket.io?
- CALL_AND_RETRY_LAST分配失败-进程内存不足
- 如何合并2 JSON对象从2个文件使用jq?
- 在Ubuntu上安装Node.js