作者:mobiledu2502874643 | 来源:互联网 | 2023-07-28 09:03
发布前端组件时,通常为求彻底组件化,npmpublish命令会只发布组件本身,package.json的所有依赖均不允许一起发布,否则大家的组件可能越发布越庞大,
发布前端组件时,通常为求彻底组件化,npm publish 命令会只发布组件本身,package.json 的所有依赖均不允许一起发布,否则大家的组件可能越发布越庞大,从“发布组件”变成“发布系统”。。。
但是,有时组建会用到一些必要的小图标或者较精简的小代码库,此时发布组件时包含这些资源较为必要。
携带资源发布所花的时间和存储代价,远小于安装组件后四处找组件所需资源的代价。
怎么让组件携带资源呢?其实很简单,只需要将资源拷进 dist 目录再 pack 即可。如果是用 Jenkins CI 的方式发布,可以执行以下命令:
npm run packagr
# copy assets to dist/
cp -r "./src/assets" "./dist/assets"
cp -r "./src/app/component/assets" "./dist/assets"
cd dist
npm pack
npm config set @my-scope:registry http://192.168.x.y:z/my-repository/
npm publish --registry http://192.168.x.y:z/my-repository/
需要注意之处:
执行“cp”命令的顺序必须介于“npm run packagr”和“npm pack”之间。
前者生成“dist”目录,后者打包组件。