【问题标题】:how to use yii2-bootstrap4 extension with bootstrap 3 in the same app如何在同一个应用程序中使用 yii2-bootstrap4 扩展和 bootstrap 3
【发布时间】:2018-10-18 23:23:37
【问题描述】:

我已经尝试安装yii2-bootstrap4 但我得到了这个作曲家错误

Your requirements could not be resolved to an installable set of packages.

 Problem 1
- Installation request for yiisoft/yii2-bootstrap4 ^1.0@dev -> satisfiable by yiisoft/yii2-bootstrap4[1.0.x-dev].
- Conclusion: don't install bower-asset/bootstrap v3.3.7
- yiisoft/yii2-bootstrap4 1.0.x-dev requires bower-asset/bootstrap ~4.0.0 -> satisfiable by bower-asset/bootstrap[v4.0.0, v4.0.0-beta.3, v4.0.0-beta1, v4.0.0-alpha.6, v4.0.0-alpha.5, v4.0.0-alpha.4, v4.0.0-alpha.3, v4.0.0-alpha.2, v4.0.0-alpha1].
- Can only install one of: bower-asset/bootstrap[v3.3.7, v4.0.0].
- Can only install one of: bower-asset/bootstrap[v3.3.7, v4.0.0-beta.3].
- Can only install one of: bower-asset/bootstrap[v3.3.7, v4.0.0-beta1].
- Can only install one of: bower-asset/bootstrap[v3.3.7, v4.0.0-alpha.6].
- Can only install one of: bower-asset/bootstrap[v3.3.7, v4.0.0-alpha.5].
- Can only install one of: bower-asset/bootstrap[v3.3.7, v4.0.0-alpha.4].
- Can only install one of: bower-asset/bootstrap[v3.3.7, v4.0.0-alpha.3].
- Can only install one of: bower-asset/bootstrap[v3.3.7, v4.0.0-alpha.2].
- Can only install one of: bower-asset/bootstrap[v3.3.7, v4.0.0-alpha1].
- Installation request for bower-asset/bootstrap (locked at v3.3.7) -> satisfiable by bower-asset/bootstrap[v3.3.7].

Installation failed, reverting ./composer.json to its original content

我希望能够在同一个应用程序中使用 bootstrap3 和 4,我也尝试了这个 issue "prefer-stable": true, 中描述的内容,但也没有用。 那么我到底应该怎么做,如何将 bootstrap:~3.0 和 bootstrap:~4.0 与官方 yii2-bootstrap 包一起使用

【问题讨论】:

    标签: twitter-bootstrap-3 yii2 bootstrap-4 yii2-basic-app


    【解决方案1】:

    您可以尝试通过这种方式覆盖一些要求:

    "minimum-stability": "dev",
    "prefer-stable": true,
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "~2.0.14",
        "yiisoft/yii2-bootstrap": "~2.0.8",
        "yiisoft/yii2-bootstrap4": "1.0.x-dev",
        "bower-asset/bootstrap": "3.3.7 as 4.1.3",
        "npm-asset/bootstrap": "~4.1.3"
    },
    

    这将从 bower 安装 bootstrap 3.3.7 并从 npm 安装 bootstrap 4.1.3。您需要更新 bootstrap4 资产包的路径:

    'components' => [
        'assetManager' => [
            'bundles' => [
                'yii\bootstrap4\BootstrapAsset' => [
                    'sourcePath' => '@npm/bootstrap/dist'
                ],
                'yii\bootstrap4\BootstrapPluginAsset' => [
                    'sourcePath' => '@npm/bootstrap/dist'
                ]
            ]
        ]
    ]
    

    请注意,yii2-bootstrap4 尚未准备好使用,甚至没有 alpha/beta 版本,因此预计会出现许多其他问题。

    【讨论】:

      【解决方案2】:

      很多关于如何在 Yii2 中使用 Bootstrap 4 的解决方案。甚至 Yii2 团队也为此创建了一个extension。但是因为,我不喜欢太多的配置。这就是我所做的。在 AppAsset.php 中,使用您自己的自定义删除 yii\bootstrap\BootstrapAsset。我会推荐,你坚持原来的文件名和类名。

      // AppAsset.php
      public $depends = [
          'yii\web\YiiAsset',
          //'yii\bootstrap\BootstrapAsset',  // Remove this
          'app\assets\BootstrapAsset',       // Add this
      ];
      

      然后,我在 assets 文件夹中创建了一个 BootstrapAsset.php 文件。从 yii\bootstrap\BootstrapAsset 复制代码。然后修改了部分代码。没有 NPM,没有 Bower。

      namespace app\assets;
      
      use yii\web\AssetBundle;
      
      class BootstrapAsset extends AssetBundle
      {
        public $basePath = '@webroot';
        public $baseUrl = '@web';
        public $css = [
          'vendor/bootstrap/css/bootstrap.min.css'
        ];
        public $js = [
          'vendor/bootstrap/js/bootstrap.min.js',
          'vendor/popper.js/umd/popper.min.js'
        ];
      }
      

      【讨论】:

        猜你喜欢
        • 2016-10-13
        • 1970-01-01
        • 1970-01-01
        • 2021-06-29
        • 2017-02-15
        • 2018-11-12
        • 1970-01-01
        • 2018-07-29
        • 1970-01-01
        相关资源
        最近更新 更多