正文讨论通过composer工具安装Yii2框架并优化Vendor过程被碰到的题目,约定读者对composer基本原理有自然了解,并且有安装Yii2框架的骨子里经历。

每当Yii2社区里经常会面遇见同样近乎题目,那便是 安装完毕官方推荐的本子后
1 怎么没vendor文件夹?

每当Yii2
中,vendor是composer下载的依库文件,官方的门类模板代码里才生那和好之花色文件,而该借助之yii框架等类库,都记录在composer.json里面,只要安装好composer,然后install或update即可。

2 自己设置之Yii2的色蒙,vendor中的管在composer.json
中寻找不顶相应,而这些保险多是暂时性未需用的,该如何remove,保持vendor最小化?
证明了的场面

2.1 使用 composer remove 删除包
所去的包必于vendor文件夹下之composer.json中产生记录,并且以去包之以,所有的包会重新安装一破。

2.2 使用 composer update –no-dev 删除包

开发模式下的包会直接给剔除,删除后运行项目,直接报错。因此支付模式之承保不能够给合剔除

vendor.jpg

composer.jpg

2.3采用 remove codeception/verify
删除包,大部分测试模式下之包均于去除,根据本人之过去开销经历,单元测试相关的组件没有动及,所以可以
remove codeception/verify
命令对Yii2的compposer包进行简单。这个令是优化composer包的重要一围。

3
多独档次在一个工程下时,会不会见因首不行加载composer包太多如果引起加载的性问题,
自带的推加载是否能够解决之题目?

类明确不需之组件可以直接remove处理掉,至于性能性能影响小还未曾碰面了。延迟加载算是框架级别之优化,我选择信任她的力

4 vendor路径问题导致的目或文件不存提示

而我们的档次路线是 E:\sources\templates

每当Vendor路径有题目经常,会现出以下类似的问题,即某个composer包不存在

Invalid Parameter – yii\base\InvalidParamException
The file or directory to be published does not exist:
E:\sources\templates\backend\vendor\bower-asset/jquery/dist

文本包不设有只是表现,主要的因是vendor路径和工程的配置文件不对应。

以工程的主配置文件main.php下有关于vendor的配备入口,VendorPath具体值,要整合配置文件的门径,请参考下的星星点点帧图跟相关的路子配置

第一幅

vendorPath.jpg

‘vendorPath’ => dirname(dirname(DIR)) . ‘/vendor’,

第二幅

vendorPath2.jpg

‘vendorPath’ => dirname(dirname(dirname(DIR))) . ‘/vendor’,

总结:

咱以采用compser时需要考虑以下三独问题

1 composer install 和composer update的区别

2 composer版本管理暨安乐

3 公共组件如何为 composer包的法子出口以及护卫

composer install

应当是不过常用的下令,composer会根据地方的composer.json安装包,将下载的包放入项目下的vendor目录下,同时用设置上的承保版本信息放入到composer.lock,以便锁定版本.

其实当install的时,假如发现composer.lock版本与当前vendor目录下之代码版本是一样的,则Composer会什么啊非举行,composer.lock的目的就是被您安然在手上夫版下办事,而不获取最新版本的包.

composer update

composer.lock文件中的包版本会被更新,composer.json记录之包都会叫更新到最新。
以此命令要三思而行运用。

设组件都用composer引用到路遭到,成为公共组件,需要严谨运用composer命令,当然要专人负责维护,没有共享操作权限。

参考文档
Composer四种植加载方式
http://nai8.me/sapper-view.html?id=33
https://segmentfault.com/q/1010000004047286/a-1020000005344768

相关文章

网站地图xml地图