一、私有包编译的时候,不想将源码编译进去解决方式
1.创建.npmignore文件,将想要隐藏的文件加入进去
.npmignore文件代码
.DS_Store
/dist
/node_modules/
/examples/
/packages/
/vue.config.js
/push.js
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
二、每次发布npm私有包都需要输入账号、密码、邮箱 太麻烦了,执行脚本文件一键发包
1.首先手动登陆,npm login
2.此时本地.npmrc
文件会生成一个_authToken
(地址:C:\Users\Administrator
)
3.在本地.npmrc
添加一行代码//ip:8081/repository/npm-public/:always-auth=true
4.创建一个push.js文件
const { exec } = require('child_process')
// 记录包构建开始时间
const buildStartTime = Date.now()
// 第一步:执行包构建
console.log('正在执行包构建,请稍后...')
exec('npm run lib', (err, stdout, stderr) => {
if (err) {
console.error(`执行包构建出错: ${err.message}`)
return
}
// 记录包构建结束时间
const buildEndTime = Date.now()
const buildDuration = buildEndTime - buildStartTime
console.log(`包构建成功,耗时 ${buildDuration} 毫秒,正在执行npm publish`)
// 记录发布开始时间
const publishStartTime = Date.now()
// 第二步:直接执行npm publish发布包
exec('npm publish', publishErr => {
if (publishErr) {
console.error(`执行npm publish出错: ${publishErr.message}`)
return
}
// 记录发布结束时间
const publishEndTime = Date.now()
const publishDuration = publishEndTime - publishStartTime
console.log(`包发布成功,耗时 ${publishDuration} 毫秒`)
})
})
5.在package.json
文件中添加"push": "node push.js"
6.在控制台输入npm run push
,即可自动发包
完结撒花