【问题标题】:pub build to subdirectory?发布到子目录?
【发布时间】:2014-03-26 21:51:41
【问题描述】:

是否可以构建到 build 内的子目录?这样在 Dart 应用程序代码中链接的所有内容都在子目录前缀中查找资产?

基本上我正在尝试合并两个 Dart 应用程序......所以web 中的资产是冲突的。当然web/packages 中的符号链接是不同的和/或也可能发生冲突。

我想从一个主要的index.html 中获取 HTML 代码并将其放入另一个应用程序中 - 该部分可以很好地组合在一起而不会发生冲突。然后我还想链接其他 dart2js 编译的 main.dart.js 文件...再次,两个 Dart 应用程序并排运行而没有冲突...但是我遇到了所有资产的问题。

我还在第二个项目中使用 angular.dart,而第一个不是。因此,它不仅仅是将一些 <img src="img/example.jpg" /> 更改为 <img src="symlinked-path/img/example.jpg" /> 那样简单......我在 Dart 应用程序中有各种对资产的引用,如 HTML 模板部分等。

就好像我需要某种<base> 标签来标记我想要的部分。不幸的是,它不是那样工作的,但如果它还没有意义,那是我可以描述我所追求的最好的方式。

所以我希望pub build 有一些选项,或者甚至转换器可以输出所有内容并让 dart2js 更改 JS 中的内容以指向某个正在构建的子目录。然后我可以对其进行符号链接。

考虑合并两个 Dart 应用程序?

【问题讨论】:

    标签: dart angular-dart


    【解决方案1】:

    好的,我读到了:https://www.dartlang.org/tools/pub/assets-and-transformers.html#where-to-put-assets

    有点令人困惑,但我明白了,并认为它适用于我的情况......我将一个新的 asset 目录与我的 web 目录放在同一级别,然后 pub build 移动了这些文件进入assets/my_package_name 目录...我可以在没有冲突的情况下进行符号链接。所以现在web 中除了我的index.html 文件之外什么都没有了,无论如何我都要抽出胆量。

    【讨论】:

    • 虽然你需要使用pub serve 来测试这需要永远。我喜欢加载包含 main.dart 文件的 HTML 文件以供开发(它更快,无需构建)。所以很臭。
    • 资产目录已弃用。资产应该进入 lib 或 web 目录。但是你应该可以用类似的方法来解决它。
    • 很遗憾,因为它完全符合我的要求。我猜也应该从飞镖网站文档中删除。 ...我希望也有一些东西可以代替它。 Dart 包管理器还有很多不足之处。
    • 您可以使用 lib 目录中的任何目录。 lib 子目录中的资产应像在已弃用的资产目录中一样处理。
    • 是的,那行得通。谢谢。我想(即使是旧的asset 目录也是如此)唯一的事情是,当您从web 打开一个您希望在开发时保持刷新的 HTML 文件时,您的资产不能轻易链接。
    猜你喜欢
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 2012-07-06
    • 2016-03-21
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多