Javascript 如何在requireJs中使用Assetic
我正在尝试在synfony2项目中使用require.js 下面是主细枝文件中的代码:Javascript 如何在requireJs中使用Assetic,javascript,symfony,requirejs,Javascript,Symfony,Requirejs,我正在尝试在synfony2项目中使用require.js 下面是主细枝文件中的代码: <script data-main="{{ asset('bundles/web/js/main.js') }}" src="{{ asset('vendor/js/require.js') }}"> </script> 因此路径是权限,但在javascript控制台上,我得到以下消息: 得到 http://localhost/~myName/my
<script
data-main="{{ asset('bundles/web/js/main.js') }}"
src="{{ asset('vendor/js/require.js') }}">
</script>
因此路径是权限,但在javascript控制台上,我得到以下消息:
得到
http://localhost/~myName/myProject/web/app_dev.php/main.js?201205021855
404(未找到)
添加到@dgabriel响应。你可以用切片过滤器
<script
data-main="{{ asset('bundles/web/js/main.js') | slice(0, -3) }}"
src="{{ asset('vendor/js/require.js') }}">
</script>
404看起来像是应用程序中其他地方需要“main”的结果-它与数据main中的路径不匹配。在这种情况下,很可能是baseUrl或路径配置出现问题(这两种配置都是告诉RequireJS模块所在位置的不同方式)。在您的示例中,您的baseUrl需要是“/~myName/myProject/web/bundles/web/js”
您可能想尝试使用。它会自动为您处理这些配置详细信息,并与Assetic很好地集成。谢谢@dgabriel和m2mdas,我编辑了我的问题,添加了更多详细信息。嗯,您已经为Assetic启用了
asset\u version
选项。之所以出现404井,是因为web目录中的.htaccess
将此路径视为路由,而不是文件路径。此外,在twig中,regex replace filter不可用。要做到这一点,您必须创建一个细枝扩展。
<script
data-main="{{ asset('bundles/web/js/main.js') | slice(0, -3) }}"
src="{{ asset('vendor/js/require.js') }}">
</script>