【问题标题】:Different vendor file for production and development用于生产和开发的不同供应商文件
【发布时间】:2015-10-13 19:34:00
【问题描述】:

我正在使用 Phoenix 0.14.0,我打算使用 reactjs 来创建用户界面。

我这样做的方法是将 react.min.js 放在 web/static/vendor 文件夹中。 问题是,我希望在开发中使用非缩小版本的 react,因为它有调试代码。

当我使用react.min.js 时,缩小后的 app.js 的最终大小约为 150K,如果我使用 react.js,最终大小为 550K,我认为这差别不大。

有没有办法在 phoenix 中使用不同的静态文件进行生产和开发?

【问题讨论】:

    标签: elixir brunch phoenix-framework elixir-mix


    【解决方案1】:

    您可以将常规 react.js 放入您的项目中,并让像 uglify-js-brunch 这样的插件在生产构建中为您缩小它,或者您可以将这两个文件放在那里并在您的早午餐配置中使用 overrides 来包含/根据您的环境排除您想要的内容。后者可能看起来像这样:

    conventions:
      ignored: [
        /[\\/]_/,
        'web/static/vendor/react.min.js'
      ]
    overrides:
      production:
        conventions:
          ignored: [
            /[\\/]_/,
            'web/static/vendor/react.js'
          ]
    

    【讨论】:

    • 第二种选择最适合我,因为“丑化”react.js 仍然会保留大量调试代码,因此它仍然会比上游缩小的版本大得多。现在我只需要弄清楚如何让凤凰“构建任务”在适当的时候使用正确的早午餐约定。
    猜你喜欢
    • 1970-01-01
    • 2016-04-20
    • 2017-07-27
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2010-10-07
    • 2015-10-02
    • 2019-11-10
    相关资源
    最近更新 更多