Javascript 开发环境中的Symfony 4和FOSJsRoutingBundle正常,但产品环境中的KO(未定义路由)
在symfony4中,我使用bundle jsrouting从JS代码获取symfony路由路径。 在Javascript 开发环境中的Symfony 4和FOSJsRoutingBundle正常,但产品环境中的KO(未定义路由),javascript,php,symfony,symfony4,webpack-encore,Javascript,Php,Symfony,Symfony4,Webpack Encore,在symfony4中,我使用bundle jsrouting从JS代码获取symfony路由路径。 在dev环境中,所有这些都可以正常工作,但是当我将symfony配置设置为prodmod时,当我加载一个页面,其中一个javascript脚本使用jsrouting时,会出现此错误: (我的页面使用的自定义javascript文件global.js中出错) 我的细枝文件包含以下行: <script src="{{ asset('bundles/fosjsrouting/js/router.
dev
环境中,所有这些都可以正常工作,但是当我将symfony配置设置为prod
mod时,当我加载一个页面,其中一个javascript脚本使用jsrouting时,会出现此错误:
(我的页面使用的自定义javascript文件global.js
中出错)
我的细枝文件包含以下行:
<script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>
<script src="{{ asset('build/js/us/builder/global.js') }}"></script>
缺少…这就是为什么我得到错误“路由未定义”,因为“路由”是在router.js文件中定义的
我不明白为什么Symfony在prod
环境中时这些行会丢失
我的配置文件的内容/myproject/config/bundles.php
:
<?php
return [
//...
FOS\JsRoutingBundle\FOSJsRoutingBundle::class => ['all' => true],
];
仔细查看您的var目录、子目录权限和所有者
php-bin/console-cache:pool:clear-cache.global\u
chmod-R 777变量/日志
为prod目录放置正确的所有者:
cache/prod
cache/prod