标签 Node 下的文章

https://github.com/npm/npx

npm-run-script
npm scripts 使用指南
如何向npm脚本发送命令行参数?
文件 package.json 的说明文档 & package.json yarnpkg 官方文档
如何调试node&npm?

搜索模块:

npm search xxx

查看npm全局-g安装过哪些包:

npm list -g --depth 0

卸载已安装的npm包

npm list
npm uninstall ejs

C:\Users\Administrator>npm list
C:\Users\Administrator
└── ejs@2.2.4
 
 
C:\Users\Administrator>npm uninstall ejs
unbuild ejs@2.2.4
 
C:\Users\Administrator>npm list
C:\Users\Administrator
└── (empty)

解决npm ERR! Unexpected end of JSON input while parsing near的方法汇总

这个错误的解决方法有以下几种:
1.删掉package.lock.json
2.清除cache

npm cache clean --force

3.进入下面这个文件夹清除cache
路径:C:/Users/PC/AppData/Roaming/npm-cache
执行:

npm cache clean --force

4.不要用淘宝镜像。

npm set registry https://registry.npmjs.org/

值得一提的是,如果安装过程出现sass相关的安装错误,请在安装mirror-config-china后重试。
https://www.npmjs.com/package/mirror-config-china

npm install -g mirror-config-china

end

http://www.au92.com/post/nexus-npm/
自建NPM私服加快npm install速度

解决vscode中不能使用yarn命令

https://blog.csdn.net/qq_42114171/article/details/114872700
由于vscode中的集成终端使用的是powershell,所以我们要设置一下powershell的执行权限。
解决方法:

进入C:\Windows\System32\WindowsPowerShell\v1.0目录,找到powershell.exe文件。
右键该文件,以管理员权限执行。
执行set-ExecutionPolicy RemoteSigned命令,并输入y选项。

https://docs.npmjs.com/cli/v6/using-npm/config
这实际上是 npm 对命令行参数的处理策略导致的
npm 截获了 --template 参数并将其设为 process.env.npm_config_template=true

所以 process.argv 里面的 --template 参数就没了
具体说明在 config | NPM Docs

解决方法在链接里也有提到,加个 -- 停止 npm 的解析


https://nodejs.org/dist/

《Node.js 调试指南》

@ruanyf
Chrome 浏览器允许将任意 HTTP 请求,转成 curl 命令的形式,从而在命令行发出这个请求。
这里还有一个小工具,可以将 curl 请求转成 Node 脚本。https://curl.trillworks.com/#node

版本号

使用NPM下载和发布代码时都会接触到版本号。NPM使用语义版本号来管理代码,这里简单介绍一下。

语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。

如果只是修复bug,需要更新Z位。
如果是新增了功能,但是向下兼容,需要更新Y位。
如果有大变动,向下不兼容,需要更新X位。
版本号有了这个保证后,在申明第三方包依赖时,除了可依赖于一个固定版本号外,还可依赖于某个范围的版本号。例如"argv": "0.0.x"表示依赖于0.0.x系列的最新版argv。

NPM支持的所有版本号范围指定方式可以查看官方文档
Node 调试工具入门教程

node的http服务器

var http = require('http');
var fs = require('fs');
var documentRoot = 'D:/20180626/code'; //设置文件的根目录,可以修改为个人的自定义目录。
var server = http.createServer(function(req,res) {
    var url = req.url;
    var file = documentRoot + url;
    console.log(url);
    fs.readFile(file,function(err,data) {
        if(err){
            res.writeHeader(404,{
                'content-type':'text/html;charset="utf-8"'
            });
            res.write('<h1>404错误</h1><p>你要找的页面不存在</p>');
            res.end();
        }else{
            res.writeHeader(200,{
                'content-type':'text/html;charset=utf-8"'
            });
            res.write(data);
            res.end();
        }
    });
}).listen(8888);//设置的端口号,建议为6000以上。
console.log('服务器开启成功');


推荐开发环境方案:

nvm > node > nrm > yarn > yrm 
推荐!用 nvm 管理 node 版本, NPM 源管理器切换不同源,yarn 源管理器切换不同源, 最终用yarn

管理 node 版本,选择 nvm 还是 n? hokaccha/nodebrew
nnvm && 用法
nvm的正确打开姿势

Window:

nodejs在windows下的安装配置(使用NVM的方式) 作者github && windows版本
Windows 下安装 nvm 管理 nodejs 版本,安装目录下找到settings.txt

setting.txt

root: C:\dev\nvm 
path: C:\dev\nodejs 
arch: 64 
proxy: none 
node_mirror: https://npm.taobao.org/mirrors/node/ 
npm_mirror: https://npm.taobao.org/mirrors/npm/

nvm 设置下载 node 的镜像地址

Centos

centos上安装

Mac

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

安装后完后重启终端,command -v nvm # 出现nvm 则正常。反之则继续看下面的

如果没有显示 nvm 看安装过程中出现的

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

把上面提示的内容放.bash_profile ,先ls -a查看下有没有这个文件,没有的话就

touch .bash_profile  #新建一个文件
open .bash_profile   #打开这个文件
source .bash_profile #重启生效

检验:

command -v nvm # 出现nvm 则正常
ls -a

如果按照iTerm2每次都需要source .bash_profile才生效:

touch .zshrc
open .zshrc

touch ~/.zshrc
open ~/.zshrc
source ~/.zshrc

添加:

source .bash_profile

生效:

source /etc/profile

安装node:

nvm list available #查看网络可以安装的版本:
nvm ls-remote   # 查看远程服务器可安装的版本
nvm install 10.10.0
nvm install 9.10.0
nvm install 8.10.0

安装完成提示:

nvm is not compatible with the npm config "prefix" option: currently set to "/Users/z/nvm/versions/node/v8.10.0"
Run `nvm use --delete-prefix v8.10.0` to unset it.

则使用指定版本:

nvm use --delete-prefix v8.10.0
node -v

显示此版本则表示操作成功。

mac中nvm的安装和使用
正确的安装和使用nvm(mac)

[root@localhost ~]# nvm --version
-bash: nvm: command not found
[root@localhost ~]# source ~/.nvm/nvm.sh
[root@localhost ~]# nvm --version
0.33.2
[root@localhost ~]#

nvm常用命令:

nvm install <version>  ## 安装指定版本,可模糊安装,如:安装v4.4.0,既可nvm install v4.4.0,又可nvm install 4.4
nvm uninstall <version>  ## 删除已安装的指定版本,语法与install类似
nvm use <version>  ## 切换使用指定的版本node
nvm ls  ## 列出所有安装的版本
nvm ls-remote  ## 列出所以远程服务器的版本(官方node version list)
nvm current  ## 显示当前的版本
nvm alias <name> <version>  ## 给不同的版本号添加别名
nvm unalias <name>  ## 删除已定义的别名
nvm reinstall-packages <version>  ## 在当前版本node环境下,重新全局安装指定版本号的npm包

npm 常用命令详解
http://www.runoob.com/nodejs/nodejs-tutorial.html
Node.js 教程
安装后,运行Node.js command prompt

npm

13 个 npm 快速开发技巧

安装依赖

npm install
//请特别注意,直接使用 cnpm 可能会导致依赖不正确。
//强烈建议给 npm 设置 taobao 的 registry,并且能通过如下操作解决npm速度慢的问题。 
npm install --registry=https://registry.npm.taobao.org 

npm源无法使用问题解决

推荐看这里mirror-config-china

https://npm.taobao.org/
设置淘宝源的是:

npm config set registry https://registry.npm.taobao.org

如果有些无法实现淘宝源的,需要设置回原来的就可以了(可能需要ss):

npm config set registry https://registry.npmjs.org

npm

查看npm配置

npm conig list

删除源

npm config delete registry

下面给出淘宝镜像的安装和卸载
安装

npm config set registry "https://registry.npm.taobao.org"
npm config set disturl https://npm.taobao.org/dist

卸载

npm config delete registry
npm config delete disturl

window 下载出现 phantomjs 安装不上问题

设置环境变量:
控制面板->系统和安全->系统->高级系统设置->环境变量->编辑用户变量Path->将';C:\wamp3.0.4\www\phantomjs-2.1.1-windows\bin'添加到最末端即可)
win+R,输入cmd打开控制台,输入phantomjs -v,若输出了版本号,则证明安装成功了。
这个问题可能会影响到其他依赖的安装

https://yarnpkg.com/lang/zh-hans/docs/migrating-from-npm/
从 npm 迁移\
https://segmentfault.com/a/1190000014716713

快速安装
npm install -g yarn //在NPM 中安装

nrm 和yrm

修改npm和yarn源
双源管理工具cgr (change registry)都是基于nrm改写的,能同时管理npm、yarn的源

搭建 npm 私服

npm私服安装教程 - verdaccio 入门