【问题标题】:Flutter : Dependencies vs dev_dependencies [duplicate]Flutter:依赖项与 dev_dependencies [重复]
【发布时间】:2020-01-05 03:46:32
【问题描述】:

我想知道 dependenciesdev_dependencies 之间的区别。

当我将包放入 dependencies/dev_dependencies 时?

dependencies/dev_dependencies 中的什么包会使大小 APK 变大? (我还没有尝试发布 apk 来查看不同的大小)

因为我在 Visual Studio 代码 Pubspec Assist 中使用了 extension,所以这个 extension 自动将 dependencies 添加到 pubspec.yaml强>

谢谢

【问题讨论】:

标签: flutter dart


【解决方案1】:

依赖

在您完成开发阶段后部署您的应用时我们必须包含的插件列表。

dev_dependencies

您想在开发阶段试用以在开发阶段测试应用的插件列表。

例如:在开发阶段,我们使用 Mockito 和测试插件和 SDK 来编写测试用例并测试应用程序的完整行为。我们包含的这类插件和 SDK 包含在

dev_dependencies

所以在发布应用中,不需要添加这些插件或sdk支持。

【讨论】:

    【解决方案2】:

    dependencies 是在编译期间包含在您的应用程序中的包,而 dev_dependencies 是您在开发应用时使用的包,这些包不包含在 APK 中

    【讨论】:

    • 对不起,我想问一下,我怎么知道我必须在 dev_dependencies/dependencies 中放入哪些包?例如我在这个包之间有包Image picker ,http, splashscreen,我必须把哪个放在dependencies/dev_dependencies?
    • 通常它会记录在 pub.dev 示例中...但为了简单起见...如果应用程序在运行时需要该包,则将其包含在 dependencies...您的示例:Image picker ,http, splashscreen 将在应用程序本身中使用,因此您应该将它们包含在依赖项中
    • 为您提供一个要放置在 dev_dependencies 中的包的示例,请查看:flutter_launcher_icons... 这是一个包,可让您为您的应用创建所有应用图标...只需要在应用开发过程中做...
    • 但是提到将 splashScreen 添加到 dev_dependencies 并且在运行时需要它对吗? @digitaljoni
    • @Bensal,通常 dev_dependencies 创建文件供您在应用程序上使用...并且您只需要在开发过程中运行它们...在 flutter_launcher_icons 和 flutter_native_splash 的情况下...它将创建图像并为您做一些代码更改......所以创建的图像和代码更改,您将把它包含到您的存储库中。我希望这会有所帮助。
    【解决方案3】:

    dev_dependencies 仅用于开发或用于构建您的捆绑包。例如:es-lint

    dependencies 应包含构建您的应用程序的库和框架。例如:intl

    dev_dependencies 是仅在开发过程中需要的模块,而dependencies 是在运行时也需要的模块。

    【讨论】:

    • 所以如果我把所有包都放在dependecies 中,让我的apk 大小比我把所有包都放在dev_dependecies 中要大吗?或者如果我的包在 dev_dependecies 中,我无法构建发布 apk?
    • 你不应该把所有的包都放在dependencies。但必须将所有包放在运行时需要的dependencies 中。假设:intl 是一个日期格式的包,如果你把它放在 dev_dependencies 中 - 日期格式在你的应用程序中不起作用。所以你必须将intl 放在依赖项中。 dependencies 下的包会增加你的 apk 大小。
    猜你喜欢
    • 2015-11-13
    • 2021-03-06
    • 1970-01-01
    • 2021-09-11
    • 2021-03-02
    • 2019-09-21
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    相关资源
    最近更新 更多