基础
NPM和NPX
- NPM: Node Package Manager
NPM是一种包管理器,用于管理packeage.json下的依赖包,比如:
npm install package_name
如果NPM用于执行包的内部脚本,package.json如下:
{
"name": "Project-Name",
"version": "x.y.z",
"scripts": {
"package-name": "package-name"
}
}
执行以上包:
npm run package-name
- NPX : Node Package execute
NPX是一种可以执行任何JavaScript包的指令,NPM version 5.2.0上无需单独安装即可使用npx指令,npx执行的目标包无需npm单独安装即可执行:
npx any_javascript_package_name
最常见的有
npx create-react-app my_app
使用NPM LINK进行本地包引用
在目标的包目录(含package.json)执行以下命令,该命令会在Node环境下的node_modules
下创建引用链接
npm link
在项目中引用
npm link packageName
在项目中取消引用
npm unlink --no-save package && npm install
取消引用使用以下命令:
npm unlink
项目中unlink
npm unlink --no-save package && npm install
gyp无法使用
该情况主要由于系统的策略导致,可以在PowerShell下执行命令进行解除限制:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- Electron安装慢问题主要由于Electron的源比较慢,可以更换为淘宝源,具体更改在.npmrc文件
# registry=https://repo.huaweicloud.com/repository/npm/
registry=https://registry.npmjs.org/electron_mirror=https://cdn.npm.taobao.org/dist/electron/
# msvs_version=2022
proxy=http://127.0.0.1:1081/
Setting proxy
在使用Node的时候,需要用到npm,但是npm的默认源在国外,链接速度慢,可以考虑更换国内源或者设置代理,此处我们使用代理的方式:
可以通过两种方式去设置
1. 通过编辑.npmrc设置源
#改用国内源
# registry=https://repo.huaweicloud.com/repository/npm/ registry=https://registry.npmjs.org/
# msvs_version=2022
proxy=http://127.0.0.1:1081/
2. 通过命令行设置
npm config set proxy http://127.0.0.1:1080
yarn被限制使用
当在Node项目中使用yarn出现以下问题的时候:
yarn : File C:\Users\wentu\AppData\Roaming\npm\yarn.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at
At line:1 char:1
+ yarn install node-sass
+ ~~~~
~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
解决:执行以下命令:
$ Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted