前提:多个项目需要使用相同的组件,内网开发不能直接使用npm共享资源。
在网上看了很多资料,决定用它在内网搭建一个npm私服。 具体操作步骤非常简单。 网上有很多教程,也很详细。 以下是教程的一些链接
虽然搭建过程很简单,但是为了将其应用到项目中,遇到了很多问题:
1. npm源代理问题
虽然内网直接修改npm的源为本地,但是里面有代理配置。 如果在本地服务器上没有找到,会继续从npm源中搜索资源,这样在内网环境下会直接报错。我直接在.yaml文件中注释掉了agent,解决了问题简单粗暴
2.发布问题
发布时注意,版本不能相同
3.包安装问题
当我在项目中安装我发布的包时(npm
测试-
–save),控制台会一直报错,找不到要安装的依赖。 很明显,我安装的是我发布的指定包冒险岛sf外网架设详细流程,里面没有任何依赖,就是简单简单的一段。 原来我们在npm的时候
是否只安装指定的包,都会根据.json和-lock.json
查看项目内部已经存在的依赖。因为我开发的项目是两年前搭建的,已经在内网开发
每次安装新的插件,只是把新安装的包复制进去,里面可能还有其他的依赖没有一起复制进来。
解决上述问题:
1.将项目中的.json文件放到外网重新npm一遍,然后将新的复制到内网项目中
2.同时设置.json
复制到外网重新npm,需要将npm源地址切换到本地,即使用外网搭建的npm私服环境。 只有这样,在 npm 中
包会缓存在本地的npm环境中,一般在C:/Users/User////目录下冒险岛sf外网架设详细流程,然后复制到内网环境的同目录下
, 这样项目中只需要 npm
文笔不是很好,可能有错别字或不清楚,请多多包涵