从 Composer 安装未获取 main.css 和 main.js 文件

从 Composer 安装未获取 main.css 和 main.js 文件

我在尝试通过 Composer 安装 fullcalendar 时遇到了困难(composer.phar 需要“bower-asset/fullcalendar”),它没有拉动主.css主.js文件。因此,我必须手动从这里

只是想确认这是一个错误还是功能?

谢谢

答案1

自 Yii 2.0.13 起,基本和高级应用程序模板均预先配置为使用 asset-packagist。

由于您正在使用 Yii2 框架,并且想要使用 Composer 安装 fullcalendar 插件和所需的资产,因此这应该是推荐的程序:

  1. (可选)创建一个基本的项目模板:composer create-project --prefer-dist yiisoft/yii2-app-basic fullcalendar-yii-basic
  2. 将工作目录更改为项目的根目录:cd fullcalendar-yii-basic
  3. 使用 asset-packagist 安装 fullcalendar 包(使用 Yii 2 项目模板时已经配置好):composer require npm-asset/fullcalendar

来源:

您将在文件夹中找到文件 main.css 和vendor/npm-asset/fullcalendarmain.js。

要在 Yii 中使用它们,您应该创建一个这样的 AssetBundle(将其放在文件夹 assets 中):

<?php

namespace app\assets;

use yii\web\AssetBundle;

/**
 * Fullcalendar asset bundle.
 */
class FullcalendarAsset extends AssetBundle
{
    public $sourcePath = '@npm/fullcalendar';
    public $css = [
        YII_ENV_DEV ? 'main.css' : 'main.min.css'
    ];
    public $js = [
        YII_ENV_DEV ? 'main.js' : 'main.min.js',
        YII_ENV_DEV ? 'locales-all.js' : 'locales-all.min.js'
    ];
}

在你看来,你必须注册该 AssetBundle:

<?php

/* @var $this yii\web\View */

use app\assets\FullcalendarAsset;
FullcalendarAsset::register($this);

$this->title = 'My Yii Application';

相关内容