转载自: yii2.0.15 使用 npm 替换 bower,加速 composer 安装速度 [ 2.0 版本 ]

  1. 修改 ommon/config/main.php
<?php
return [
'aliases' => [
'@bower' => dirname(dirname(__DIR__)) . '/node_modules',
'@npm' => dirname(dirname(__DIR__)) . '/node_modules',
],
];

这样类似 BootstrapPluginAsset 的 public $sourcePath = '@bower/bootstrap/dist'; 就会正确定位到 path/to/project/node_modules。

新增、修改 package.json,将 yii2 的 composer 依赖 bower-asset/* 转换为对应的 npm 包:

{
"private": true,
"dependencies": {
"jquery": "^2.2.4",
"bootstrap": "3.3.7",
"inputmask": "^3.3.11",
"jquery-treegrid": "^0.3.0",
"jquery-ui": "^1.12.1",
"punycode": "^2.1.0",
"typeahead.js": "^0.11.1",
"yii2-pjax": "^2.0.7"
},
"devDependencies": {},
"license": "BSD-3-Clause"
}

再修改 composer.json

{
"provide": {
"bower-asset/jquery": "*",
"bower-asset/bootstrap": "*",
"bower-asset/inputmask": "*",
"bower-asset/punycode": "*",
"bower-asset/typeahead.js": "*",
"bower-asset/yii2-pjax": "*"
},
"scripts": {
"post-install-cmd": [
"yii\\composer\\Installer::postInstall",
"yarn install"
],
"post-create-project-cmd": [
"yii\\composer\\Installer::postCreateProject",
"yii\\composer\\Installer::postInstall",
"yarn install"
]
}

删除项目根目录下的 vendor 和 node_modules 文件夹后,将 composer 和 npm 都设置为使用国内的镜像源,执行:

rm composer.lock # remove composer.lock if exist
composer install

composer.json

    "config": {
"process-timeout": 1800,
"fxp-asset":{
"installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
}
},

删除composer全局安装的包

How to remove globally a package from Composer?

composer global remove <packagename>

如:

composer global remove fxp/composer-asset-plugin

Yii2 使用 npm 安装的包的更多相关文章

  1. npm安装依赖包 --save-dev 和 --save; package.json的devDependencies和dependencies 的区别!

    以前一直在纠结一个npm安装的包依赖管理的问题.是这样的: 我们在使用npm install 安装模块或插件的时候,有两种命令把他们写入到 package.json 文件里面去,他们是:--save- ...

  2. vue项目用npm安装sass包遇到的问题及解决办法

    IDEA启动vue程序,浏览器访问时出现如下情况的关于node-sass的错误: 错误1: Module build failed (from ./node_modules/sass-loader/d ...

  3. npm 安装本地包

    npm install ../xxx 就行 如果报错,比如 1`Refusing to install  as a dependency of itself 说明你的本地模块没npm init ,也就 ...

  4. npm 安装全局包 不是内部或外部命令的问题

    场景: npm已经安装成功  ,通过npm install -g 安装的 全局包 提示不是内部或外部命令 第一步: npm list -g --depth=0:查看npm全局包的路径,和有哪些安装包 ...

  5. npm安装github包的方式

    直接在npm仓库进行安装 npm install kiana-js --save 直接利用用户名和仓库名进行安装 npm install easterCat/kiana-js 也可以在前面加上 git ...

  6. 小程序使用npm安装第三方包

    安装vant 小程序UI库 进到小程序目录,在地址栏中cmd 进入DOS界面  npm init -f  安装vant 小程序UI库 npm i vant-weapp -S --production ...

  7. npm 安装远程包(github的)

    npm install git+ssh://git@github.com:xxx/xxx.git#master --save-dev npm install git+ssh://git@github. ...

  8. 使用npm安装一些包失败了的看过来(npm国内镜像介绍)

    这个也是网上搜的,亲自试过,非常好用! 镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): 1.通过config命令 npm config set reg ...

  9. Node.js 【使用npm安装一些包失败之笔记】

    镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): 1.通过config命令 npm config set registry https://regist ...

随机推荐

  1. linux 上挂载硬盘或者读取u盘数据

    查看服务器上有哪些设备 df -hl查询挂载 硬盘后或者插上u盘后sda 的变化,新增的就是我们添加上的. fdisk -ls /dev/sda

  2. ES6数组Api扩充

    1.  Array.of( );     ----将一组数据转换成一个数组: const num=201314; const a=Array.of(num); console.log(a); //数组 ...

  3. boost asio tcp 多线程异步读写,服务器与客户端。

    // server.cpp #if 0 多个线程对同一个io_service 对象处理 用到第三方库:log4cplus, google::protobuf 用到C++11的特性,Windows 需要 ...

  4. Git部署项目

    前言 学习Git的目标是要学会如何部署项目.Git是一种版本控制系统,与之对应的还有CVS和SVN,其中CVS和SVN都是集中式的版本控制,而Git是一种分布式的,在现代项目开发中,大多使用Git来管 ...

  5. vue实现curd功能

    一.实现效果 二.实现 (一)实现增加用户功能 Vuserlist组件中 <template> <div class="panel panel-default"& ...

  6. leetcood学习笔记-437-路径总和③**

    题目描述: 方法一:栈 class Solution(object): def pathSum(self, root, sum): """ :type root: Tre ...

  7. C中空指针、NULL与0

    空指针是指确保可以没有指向任何一个对象的指针.空指针常量值通常使用宏定义NULL来表示. 空指针和任何非空指针比较都不相等,因此经常作为函数异常时的返回值使用. 链表也经常在数据末尾放一个空指针提示后 ...

  8. Jmeter-【JSON Extractor】-响应结果中二级key取值

    一.请求返回样式 二.取chapter的值 三.查看结果

  9. wordpress翻译插件gtranslate

    https://www.gdstautoparts.com/

  10. css制作旋转风车(transform 篇)

    做这个案例之前首先要大概了解CSS的transform的属性 transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行旋转.缩放.移动或倾斜. 看看效果图 打开的时候自动旋转 ...