资产未安装在 symfony 4 中
Assets not install in symfony 4
我阅读了 Web Assets 的 symfony 文档,并在我项目的 root 中创建了 /assets
目录,然后 运行 命令 php bin/console assets:install
但得到:
[OK] No assets were provided by any bundle.
我在 assets 目录 中存储了一个 CSS 文件,但没有安装在 /public
中
我该怎么办?
Symfony 4 的 Web 资产文档推荐使用 Webpack Encore。
此配置中未使用 assets:install
命令。
这是你必须做的 according to the documentation :
- 在您的计算机上安装 Node.js and Yarn。
- 将 Encore 安装到您的项目中:
yarn add @symfony/webpack-encore --dev
- 通过编辑(或创建)
webpack.config.js
文件 as described here. 配置 webpack/Encore
- 通过 运行 编译您的资产:
yarn run encore dev
在我们等待进一步的 webpack-encore 开发时,有一种解决方法可以(或多或少)清楚地做到这一点。可以通过 Makefile 或类似的方式完成,但这里是更原生的解决方案。
创建空白包:
// src/BlankBundle/BlankBundle.php
namespace App\BlankBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class BlankBundle extends Bundle
{
}
然后将您的资产放入 src/BlankBundle/Resources/public
目录并启用捆绑包:
// add it to config/bundles.php
App\BlankBundle\BlankBundle::class => ['all' => true],
执行 php bin/console assets:install
命令后,您的资源将位于 public/bundles/blank
目录。
我阅读了 Web Assets 的 symfony 文档,并在我项目的 root 中创建了 /assets
目录,然后 运行 命令 php bin/console assets:install
但得到:
[OK] No assets were provided by any bundle.
我在 assets 目录 中存储了一个 CSS 文件,但没有安装在 /public
我该怎么办?
Symfony 4 的 Web 资产文档推荐使用 Webpack Encore。
此配置中未使用 assets:install
命令。
这是你必须做的 according to the documentation :
- 在您的计算机上安装 Node.js and Yarn。
- 将 Encore 安装到您的项目中:
yarn add @symfony/webpack-encore --dev
- 通过编辑(或创建)
webpack.config.js
文件 as described here. 配置 webpack/Encore
- 通过 运行 编译您的资产:
yarn run encore dev
在我们等待进一步的 webpack-encore 开发时,有一种解决方法可以(或多或少)清楚地做到这一点。可以通过 Makefile 或类似的方式完成,但这里是更原生的解决方案。
创建空白包:
// src/BlankBundle/BlankBundle.php
namespace App\BlankBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class BlankBundle extends Bundle
{
}
然后将您的资产放入 src/BlankBundle/Resources/public
目录并启用捆绑包:
// add it to config/bundles.php
App\BlankBundle\BlankBundle::class => ['all' => true],
执行 php bin/console assets:install
命令后,您的资源将位于 public/bundles/blank
目录。