本文共 12372 字,大约阅读时间需要 41 分钟。
??????????npm?Node Package Manager??Node???????????????????????????????Node.js???????????????????????????????????????npm?????????
npm??????????????????????????????JavaScript??????????npm?Node.js??????Node.js?????????????????????CLI???????????????????????????????????
npm?????????????????????
npm??????????????package.json ? package-lock.json?
??npm???????????????
npm????????
npm??Node Package Manager????Node.js????????Node.js??Ryan Dahl?2009????????JavaScript??????????JavaScript????????????Node.js???????????????????????????????????????????????????
Isaac Z. Schlueter?2010????npm?npm???????0.1.0??2010?1???????JavaScript??????????????????????npm????????Node.js?????????????
??Node.js????npm??????????2012??npm?????????20,000????2014??????????????100,????????????????Node.js???????????npm?????????????
??????npm?????????npm???????
package.json???????????????npm shrinkwrap?????????????????2023??npm???????????????????100???????????????Node.js??????????JavaScript????????????????????????????npm???????????????????????????
???????????Node.js?JavaScript??????????????????????????npm?Node Package Manager?????????????????npm???????????????????
?npm?????JavaScript?????????????????????????????npm???????????????????????????????????????????????????????????????????????????
npm?????????????????100???????????????Web??????????????????????????????????????????????????????????????
npm????????????????????????????????npm???????npm???????????????????????JavaScript?????????????????????????????
???npm???????????
package.json????????????????????????????????npm?????????????????????????JavaScript?????????????????npm?????????????
npm????Node.js?????????????????????????
npm?????????????????????????????????????????????????????????????????????????
???npm????????JavaScript?????????????????????????????????????????????????JavaScript????????????????????Node.js?JavaScript??????npm???????????????JavaScript?????????????
?????npm?????????????????????????????????????????????npm?
npm?Node.js???????????????Node.js????????????npm?????????
??????????????????????????????????????
npm?Node.js?????????????npm???????Node.js?????????????????
sudo apt updatesudo apt install nodejs npm
????????????node -v?npm -v????????????
????????????????????????Node.js?npm???????????????????????
~/.bashrc?~/.zshrc???????????????export PATH=$PATH:/usr/local/bin
??/usr/local/bin?Node.js??????????????source ~/.bashrc?source ~/.zshrc????????
????????????????Node.js?npm???????
node -vnpm -v
?????????????????
npm???Node.js???????????????????npm?????????????
npm install -g npm@latest
????????????????Node.js?????nvm?Node Version Manager?????????Node.js?nvm???Node.js????????????????????Node.js?
npm??Node.js????????????????Node.js??????????????npm??????????
??????????npm?Node.js?????????Node.js??npm?????????????????????????npm???????Node.js???npm?
??????????????????????????????????????
????????????????Python 2.x???Node.js????????????
????????????Node.js?npm??????
sudo apt updatesudo apt install nodejs npm
????????????node -v?npm -v????????????
????????????????Node.js?????nvm??????Node.js??????nvm??Node.js?npm????
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
nvm installnvm use nvm uninstall
??<version>???????Node.js????
????npm???????????????npm??????????????????npm????????????????????????????????????npm?????
????????????????????npm???????????????????????????????????npm??????????
??????????HTTP?HTTPS??????????????
npm config set proxy http://: @proxy-server:portnpm config set https-proxy http:// : @proxy-server:port
?<username>, <password>, <proxy-server>, ?<port>????????????????????????
???????????????npm???
export HTTP_PROXY=http://: @proxy-server:portexport HTTPS_PROXY=http:// : @proxy-server:port
????????????????????????
npm config delete proxynpm config delete https-proxy
?????????????????????????cnpm??????????????????????????
????????????????????
npm config set registry https://registry.npm.taobao.org/
????????cnpm????????????npm???
npm install -g cnpm --registry=https://registry.npm.taobao.org
????????cnpm??npm?????
???????????????????????????
https://npmreg mirror.com/https://npmmirror.com/?????registry?????????????
???????npm????????????????
npm config set registry https://registry.npmjs.org/
???npm??????????????????????????????????
????????????npm??????
npm set usernpm set email
?<username>?<email>?????npm???????????
??????????????????????
npm config list
npm?????????????????????????????????????????
npm config get cache --jsonnpm config set cache
?<path-to-cache-directory>????????????????
npm???????????????????????
?????npm config set <key> <value>??????????
????????????npm????????????????npm???????????????????????????????????????????????????????????????????npm?
?????npm???????????????????????????????????????????????????????????????????npm??????????
npm install ????????????????????????????????npm???package.json??????????????????????
-g?--global????????????????????????????????-g??????????????node_modules???????????????package.json???--save?-S?????????package.json?dependencies??--save-dev?-D?????????package.json?devDependencies?????????????????????npm uninstall?????????node_modules?????????package.json???????
-g???????????-g??????????????package.json???--no-save??????????package.json??????????????????????????????npm update?????????????????
?????????????????????????npm outdated???????????????????????
npm list ? npm ls ???????????????????????????
-g??????????????????????????npm init???????package.json???????????????????????????????????
-y?????????????????package.json??package.json?????????????????npm run????????????
start??????????????npm start
???????????????????????npm?Node Package Manager???Node.js???????????????????????????????????????????????npm???????
??????npm??????????????????????
npm install <package-name>???????????node_modules?????????????package.json???-g??????????????node_modules???????????????package.json???--save????????package.json?dependencies??--save-dev????????package.json?devDependencies?????????????????????????????????????????bug?
npm update??????????????????????????????????????????????????npm?????????
npm uninstall <package-name>?????node_modules?????????????package.json?-g??????package.json???--no-save??????????package.json?????????????????????????????????????????
npm list?npm ls????????????????????????npm outdated????????????????????????????npm??????????????????????????
=???????????~?^????????????????????????????????????npm??????????????????????????????????????????????????npm?????????????
npm????????Node.js???????????????package.json????scripts??????????????Node.js?????????????????????????????
?package.json?????????????npm???
{ "scripts": { "start": "node server.js", "build": "webpack --mode production", "test": "jest" }} ??????????????????start?build ? test?????????????????
npm run startnpm run buildnpm run test
?????npm??????????????????
npm run
?????????start?????????
npm run start
???????npm???????????
???????????npm????????????????????????
{ "scripts": { "start": "node server.js --port 3000" }}???
{ "scripts": { "prestart": "export PORT=3000", "start": "node server.js" }}?????npm?????????????????????????????????????
{ "scripts": { "preinstall": "echo 'Running preinstall hook'", "postinstall": "echo 'Running postinstall hook'" }}????npm install????preinstall??????????install??????postinstall???
?????????????????????????????????????&??????????????&&???????
npm run script1 & npm run script2
???
npm run script1 && npm run script2
????????????????????????????npm?????????????????npx?????????????
{ "scripts": { "cleanup": "npx rimraf dist" }}???rimraf??????????Node.js???npx?????????rimraf??????????
npm???????????pre?post????init?install?prepublish?publish????????????????????????????????
{ "scripts": { "prepublish": "echo 'Running prepublish tasks...'", "publish": "echo 'Running publish tasks...'" }} ??????npm?????prepublish????????????publish??????
npm???????????????????????????????????????????????????????????????????????????????????????npm???????????????????????
???????????????npm?????workspaces??????????????????????????????????????????????????????????????????npm??????????????????????????
npm?????????????????????????????????????????????????package.json???????????????package-lock.json?npm-shrinkwrap.json????????????????
???npm????????????????package.json???????workspaces??????????????????
{ "name": "my-monorepo", "workspaces": ["packages/*"]} ???????packages/*?????????packages?????????????????????????
???????????????npm????????????node_modules???????????node_modules?????????????????????????????????????
?????????????npm??????????
package.json??????workspaces???npm install
??????????package.json??????????????????node_modules??
npm run???????????????????????????????????????npm run script-name --workspaces
?????????????????????
npm run build --workspaces
npm??????????????????????npm???????????package.json???????????????npm publish???npm????????????????????????????npm???????????
??npm?????????????????????
npm?????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????Hooks?????Events??????????????
转载地址:http://vqjfk.baihongyu.com/