gpt4 book ai didi

javascript - UglifyJS 在 Symfony2 生产环境中不工作

转载 作者:行者123 更新时间:2023-11-29 21:41:16 25 4
gpt4 key购买 nike

我相信我配置正确——这是我的 config.yml:

assetic:
debug: "%kernel.debug%"
use_controller: false
node: "/usr/local/bin/node"
bundles: [ ]
#java: /usr/bin/java
filters:
uglifyjs2:
# the path to the uglifyjs executable
bin: "%kernel.root_dir%/Resources/node_modules/.bin/uglifyjs"
cssrewrite: ~

我在项目本地存储了 uglifyjs,只是为了更容易分发。

我正在执行以下操作以使用 uglifyjs 生成所有 JS 文件:

{% javascripts 
'vendor/bower_components/jquery/dist/jquery.min.js'
'vendor/bower_components/bootstrap-sass/assets/javascripts/bootstrap.min.js'
'vendor/bower_components/angular-route/angular-route.min.js'
'vendor/bower_components/underscore/underscore-min.js'
'vendor/bower_components/angular-cookies/angular-cookies.min.js'
'js/test1.js'
'js/test2.js'
filter='?uglifyjs2' %}

<script src="{{ asset_url }}"></script>

{% endjavascripts %}

如果我以开发模式 (/app_dev.php) 加载页面,它工作正常,只是单独加载文件,但被 uglifyjs 缩小;但是如果我尝试在生产环境中加载它,它会将所有这些 js 文件合并到一个 js 文件中(即 a07da66.js)。我面临的问题是,在尝试加载该文件 (a07da66.js) 时出现 404 未找到错误。它尝试在 js/a07da66.js 访问它 - 默认情况下似乎在 js/下创建它们。

为什么当它在 js/(js/a07da66_jquery.min_1.js) 下创建新文件时,它在 app_dev.php 中工作正常,但在生产环境中却不行?

最佳答案

您必须运行 app/console --env=prod assetic:dump 来为 prod 环境生成 Assets 。

经验法则:

  • dev 模式下,保持 app/console assetic:watch --force 在后台运行(至少在处理 JS/CSS 文件时)。每当文件更改时,它都会重新生成 dev Assets 。
  • 在部署/构建时,运行一次 app/console --env=prod assetic:dump 以便为 prod 生成组合 Assets 。

prod 模式的想法是生成当前开发的某种构建或快照。因此,您只能在创建构建时使用 app/console --env=prod assetic:dump

当然,您可以将 dev 环境切换到 prod 进行简短测试,但是您还必须执行构建过程(包括生成 >生产 Assets )。

关于javascript - UglifyJS 在 Symfony2 生产环境中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32831403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com