前端组件带上资源一起发布的方法
发布前端组件时,通常为求彻底组件化,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”目录,后者打包组件。