跳至内容
sdvcrx's wiki
用户工具
登录
站点工具
搜索
工具
显示页面
过去修订
Export to Markdown
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
frontend:npm
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== NPM ====== [[https://www.npmjs.com/|NPM]]为[[wp>Node.js|Node.js]]的包管理器。 ===== Common ===== ==== npm包版本规则 ==== * [[https://docs.npmjs.com/misc/semver|npm版本规则]] * [[http://semver.org/|Semantic Versioning 2.0.0]] ===== Command ===== 常用指令如下 ==== version ==== bump version of project[(After those commands, npm will auto increase the number of ''package.json'''s version field and add a git tag which same as npm version)]: <code bash> npm version --help # npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git] npm version major # v1.0.0 => v2.0.0 npm version minor # v1.0.0 => v1.1.0 npm version patch # v1.0.0 => v1.0.1 </code> ===== Trick ===== ==== 中国大陆内加速 ==== 使用使用淘宝npm registery加速npm packages下载: <code - ~/.npmrc> phantomjs_cdnurl=https://cnpmjs.org/downloads sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ registry=https://registry.npm.taobao.org chromedriver_cdnurl=https://npm.taobao.org/mirrors/chromedriver electron_mirror=https://npm.taobao.org/mirrors/electron/ </code> 或者 <code> npm config set registry https://registry.npm.taobao.org npm config set phantomjs_cdnurl https://cnpmjs.org/downloads npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/ npm config set chromedriver_cdnurl https://npm.taobao.org/mirrors/chromedriver npm config set electron_mirror https://npm.taobao.org/mirrors/electron/ </code> 或者像这样直接使用: <code> PHANTOMJS_CDNURL=https://cnpmjs.org/downloads [...more variables] npm install </code> <WRAP center round tip 60%> 如果是在 ''sudo'' 执行 ''npm install'' ,记得把 ''.npmrc'' 复制到 ''/root/.npmrc'' 噢! </WRAP> ===== 私有 Registry ===== ==== Installation ==== 安装 [[https://github.com/verdaccio/verdaccio/|verdaccio]] 来存放私有 npm packages,''verdaccio'' 的优势是简单易安装,仅需几行代码即可安装完成。 <code bash> mkdir private-npm && cd private-npm npm init -y npm install --save verdaccio pm2 start -i 2 --name private-npm ./node_modules/.bin/verdaccio # or ./node_modules/.bin/verdaccio </code> 可选配置: <code yaml config.yml> auth: htpasswd: max_users: -1 # 关闭注册 packages: '@YOUR_CUSTOM_SCOPED_NAME/*': # 配置自定的 scoped package 走该 Registry access: $all publish: $authenticated proxy: npmjs listen: - 0.0.0.0:4873 # 监听在公网 </code> ==== Usage ==== 私有 Registry 的使用策略有几种。 第一种是全量同步自 NPM Registry,此方案仅适用于搭建公共的 Registry 镜像服务。 第二种是仅同步使用过的 npm pacakges。 第三种是私有的包通过 ''@scoped/packageName'' 这种包名走搭建的私有的 Registry,公共的 packages 仍然走 NPM Registry。 从方便和可靠性考虑,我们在此使用第三种方案。 步骤如下: 1. 注册私有 Registry 用户 npm adduser --registry 2. 登录私有 Registry ,并指定某个 ''@scopeName'' 包通过某个 Registry npm login --registry http://[[ip]]:4873 --scope=@scopeName 3. 提交某个包到私有的 Registry: <code json package.json> { "name": "@scopeName/packageName" } </code> 在步骤二我们已经设置了 ''@scopeName'' 前缀的包都通过我们自行搭建的 Registry 下载/提交,所以仅需 ''npm publish'' 即可
frontend/npm.txt
· 最后更改: 2023/12/03 10:24 由
127.0.0.1
页面工具
显示页面
过去修订
反向链接
Export to Markdown
回到顶部