Symfony的4生产ENV的WebPack安可,我的CSS和JS生成的文件未加载

问题描述 投票:0回答:1

我想部署我的Symfony 4的网站在生产环境中。我设置(在.ENV文件)可变APP_ENVto prod,我执行此命令:yarn build(= ./node_modules/.bin/encore production

然后,我可以看到有产生在我的公开目录中的文件(文件,如举例:public/build/css/global.9e04a9d9.csspublic/build/js/global.399763b8.js,...)

我还可以看到在public/build目录中的manifest.json档案,其内容为:

{
  "myApp/public/build/js/global.js": "/myApp/public/build/js/global.399763b8.js",
  "myApp/public/build/css/global.css": "/myApp/public/build/css/global.9e04a9d9.css"
}

但是,当我打开一个页面以为我的浏览器(Firefox),不加载CSS和JS文件,我不明白为什么。

举例,在浏览器调试我得到这个“通知”的消息:“加载失败的用源‘http://localhost/myApp/public/build/js/global.js’。”

当我浏览我的页面(通过Firefox的调试器)的代码,CSS的JS的路径和主要有:

<link rel="stylesheet" href="/myApp/public/build/css/global.css">
...
<script src="/myApp/public/build/js/global.js"></script>

问题就在这里:为什么global.cssglobal.jsglobal.9e04a9d9.cssglobal.399763b8.js

  • 我清除缓存与bin/console cache:clear(我也试图与bin/console cache:clear --env=prod
  • 我查了一下VAR /缓存和公众的权利/建(由www数据具有读/写权限拥有的目录)的目录

当然,在我的模板文件的树枝,我生成功能的“资产”论文路径:

<link rel="stylesheet" href="{{ asset('build/css/global.css') }}">
...
<script src="{{ asset('build/js/global.js') }}"></script>

哪里是我的错?

symfony assets symfony4 production webpack-encore
1个回答
0
投票

我会为了告诉。首先,您需要安装该软件包。

composer require asset

此外,你会在'配置/包/ asset.yaml``看到asset.yaml

插入这些行,

framework: assets: json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'

顺便说一句,请确保您使用asset功能的树枝,包括你的资产的文件,像这样的;

<script src="{{ asset('build/app.js') }}">

© www.soinside.com 2019 - 2024. All rights reserved.