代码之家  ›  专栏  ›  技术社区  ›  Deano

如何在ElasticBeanstalk中收集和安装bower管理的包图像和字体

  •  0
  • Deano  · 技术社区  · 11 年前

    所以,我有一个Flask应用程序(基于 https://github.com/sloria/cookiecutter-flask )我正在尝试设置部署到弹性豆茎。应用程序使用 bower 安装javascript库和依赖项的包管理器。

    问题 :我已将容器设置为正确安装 npm 弓箭手 (使用来自 https://gist.github.com/growingdever/8eb2ae8e5793b9c1cd09 )以及相关的 .css .js 资产都可用于我的应用程序(使用 Flask-Assets ),但关联的图像和字体文件仍在其包目录中。

    我建议的解决方案: 我需要把它们全部收集起来,搬到 app/static/images app/static/fonts 让包裹找到它们。以前有人解决过这个问题吗?

    1 回复  |  直到 11 年前
        1
  •  0
  •   Deano    10 年前

    所以简单的解决方案是最好的。使用符号链接将文件放在正确的位置。

    另一种选择是运行 container_commands bower 包工作。在下面的代码段中,您可以替换单词 app 应用程序的目录/名称。我已经说过了 弓箭手 将程序包安装到 app/static/libs .

    container_commands:
        04_project_bower_install:
            command: 'bower --allow-root install'
            leader-only: 'false'
        05_move_fonts:
            command: 'mkdir -p app/static/fonts;
                export DIRS=`find app/static/libs -name fonts -type d -print `;
                export FILES=`find $DIRS \( -name \*.ttf -o -name \*.woff -o -name \*.woff2 -o -name \*.eot -o -name \*.svg \) -print`;
                echo "copying fonts $FILES";
                cp -fu $FILES app/static/fonts'
            leader-only: 'false'
        06_move_images:
            command: 'mkdir -p app/static/images;
                export DIRS=`find app/static/libs -name images -type d -print `;
                export FILES=`find $DIRS \( -name "*.jpg" -or -name "*.png" -or -name "*.gif" -or -name "*.svg" \) -print -maxdepth 1 -type f`;
                echo "copying image $FILES";
                cp -fu $FILES app/static/images'
            leader-only: 'false'
    

    可以说,写一个小的 asset_setup.sh 并运行该命令,而不是在 .ebextensions 配置文件。

    推荐文章