问题标签 [dart2js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
570 浏览

google-chrome-extension - Dart chrome 扩展:监听 chrome api 事件

为了更好地描述我的问题,我创建了一个用 Dart 编写的 chrome 扩展的小示例。您可以在Gist上查看代码或下载扩展程序。

问题

此示例在 Dartium 中运行良好,但是当编译为 javascript 时会发生类型错误:Uncaught TypeError: undefined is not a function对于以下行:

我已经走了多远

  • 正如您在示例中看到的那样,函数alert()console.log()viadart:js也在 js-extension 中工作。所以这可能是 dart2js 和添加事件监听器的一个特殊问题?
  • 打印出来也context['chrome']['runtime']['onMessage']显示了正确的事件对象。(例如context['console'].callMethod('log', [context['chrome']['runtime']['onMessage']]);:)
  • 我知道存在一个 chrome pub 包,但是在响应 onMessage 中收到的消息时仍然存在错误。另请参阅此问题。直接通过 dart:js 使用 chrome api 是该 dart 版本的解决方法。

我玩了很多代码,但都导致相同的错误。现在我没有想法了。希望社区能再次帮助我。

编辑: 我现在按照罗伯特的建议在dartbug.com上报告了这个错误。无论如何,如果有人知道,我仍然愿意寻求解决方法或其他方法。

0 投票
1 回答
79 浏览

dart - 如何延长在 WebStorm 中执行 dart2js 的最大时间

我有一个大型 Dart 项目,其编译时间超过了 WebStorm 允许的 30 秒。有没有办法延长允许的计算时间?

在此处输入图像描述

0 投票
2 回答
105 浏览

dart - Google Dart 构建中的 /packages/$sdk/ 文件夹是做什么用的?

在 Dart 编辑器(Pub Build (Generates JS)选项)中构建 Google Dart 网络应用程序后,文件夹布局如下所示。我的应用程序同时导入了两者dart:htmldart:async但似乎我可以将$sdk文件夹以外的所有内容上传到我的服务器,并且该应用程序将在 Dartium 和其他浏览器中运行良好。有什么原因我需要上传$sdk文件夹,它是做什么用的?尝试谷歌搜索,但我没有看到答案,提前谢谢!

编辑:这是我的 DartEditor 1.5.8 项目的一个工作示例,下面是它的代码。

hexclock.dart:

hexclock.html:

pubspec.yaml:

0 投票
2 回答
127 浏览

javascript - 在同一页面中测试 Dart 和 dart2js 代码

我在 Dart 上试试运气。我有一个加载 Dart 文件和生成的 Javascript 的应用程序:

当我在 Dartium 中打开这个页面时,Javascript 和 Dart 代码都会运行(我只需要一个)。
如何在 Dartium 中打开时只运行 Dart 文件,而不是 Javascript,在 Firefox 或 Chromium 中打开时运行 Javascript?

我应该创建两个页面,一个用于 Dart,一个用于 Javascript?这意味着当我想更改任何内容时,我必须编辑两个文件。对我感觉不对。

亲切的问候,亨德里克·扬

---- 编辑 ----
我现在意识到这个应用程序使用 Laravel 框架用 PHP 编写可能很重要。

0 投票
2 回答
408 浏览

dart - Dart2JS 找不到导入包 WebStorm

我正在使用 WebStorm 8 IDE 来构建一个 dart web 应用程序。我有以下目录结构:

main.dart我有以下导入语句:import "package:intl/intl.dart";

但是,当我尝试编译main.dart为 javascript 时,出现以下错误:

因此,dart2js 似乎在要转换的 dart 文件的当前目录中查找包,这是不正确的。

我尝试将我的导入语句更改为,import "package:../packages/intl/intl.dart";但我得到了同样的错误。

有没有人有任何想法?

更新:

我可以pub build用来构建我的项目并生成一个main.dart.js. 不确定当我调用构建时有什么不同,也许 WebStorm 有问题?

0 投票
2 回答
189 浏览

python-3.x - 金字塔、飞镖、设置工具

我开始在 Pyramid 框架中使用 python 3 开发 Web 应用程序,我真的很想使用 Dart 而不是 js。但是,dart 必须编译为 js 才能在所有浏览器中运行。

我的问题:使用 dart 开发金字塔网络应用程序的好的工作流程是什么?我是否应该完全独立地开发 Dart 代码并将构建的产品复制到我的 Pyramid 项目中?或者我应该从一开始就将它全部放在一个正确的位置并以某种方式在包内进行管理?Pyramid(或多或少)强制使用 setuptools/distutils,我不知道应该如何处理在 setuptools/distutils 上下文中编译 dart 代码。

还是有一个完全不同的工作流程我没有想到?

我一开始是正确的,我对可能性非常开放。

感谢您提供任何答案/建议/对我有帮助的任何东西。


注意:我正在使用 PyCharm IDE 专业版(即支持金字塔),因此非常感谢在 PyCharm 中运行良好的解决方案。

0 投票
1 回答
219 浏览

dart - 从 1.60 更新到 1.72 后 DART pub 失败:无法预编译 intl:extract_to_arb

昨晚,我不小心将我的 Dart 编辑器和 SDK 版本从 1.60 更新到了 1.72。意外的意思是我不想在开发时改变我的开发环境,但它发生了。之后,当我尝试“发布获取”时,我看到了这一点:

具体来说,它抱怨两件事:

  1. 导入“包:chart/chart.dart”

  2. 将“包:chrome/chrome_app.dart”导入为 chrome

在我更新 Dart SDK 之前,它们工作得很好。在 Dart 编辑器中,它抱怨:URI 的目标不存在

作为 Dart 的新手,我已经进行了详尽的搜索并且没有运气。截止日期快到了,我焦急地寻找解决方案。我在 Mac Book 上开发。但我也有一个 Windows 7 笔记本。他们正在共享 Dropbox 配备的项目文件夹。昨天在此错误发生之前,我将我的 OS X 更新为 Yosemite。在机器更新时,我尝试在 Windows 7 笔记本中为我的项目发布获取和编译 dart2js。它产生了一些错误。所以我删除了我的整个 Dart 文件夹,现在又从 Mac Book 下载了它。我意识到现在 dart 已经更新到 1.7.2。

对此的任何帮助将不胜感激!

0 投票
1 回答
199 浏览

dart - AngularDart 1.0.0 在 IE 11 和 Safari 7 及更低版本中存在问题

在渲染我的页面组件时,我在 Safari 7.0 及更低版本和 IE 11 中遇到了 AngularDart 1.0.0 抛出错误。ng-repeat当试图访问其中一个小部件(它正在循环的变量)时,它似乎在循环内死掉了。我的另一个组件(菜单)工作正常。我不太确定我的组件是怎么造成的。错误的摘录是NoSuchMethodError: Cannot call "get$widget" ('undefined' is not a function (evaluating 'o.get$widget()'))

一旦将AngularDart应用程序编译为JS,我就没有太多调试经验,但这里是上下文:

它似乎在大多数其他浏览器上都能完美运行。在升级到 1.0.0 之前,它也适用于 AngularDart 0.14.0

这是 IE 11 使用源映射的调用堆栈(我不知道 IE 具有该功能):

0 投票
0 回答
111 浏览

dart - Dart2JS 扩展 td 在 Firefox/IE 中不起作用

我正在尝试通过使用带有飞镖的聚合物来构建一个简单的 CRUD 表。

该应用程序包括:

-"crud-th" = 扩展 th 的 TableRowElement
-"crud-tr" = 扩展 tr 的 TableRowElement
-"crud-td" = 扩展 td 的 TableCellElement

我这样称呼我的组件:

在 Chrome/Dartium 中一切正常,但是当尝试
在 Firefox/IE 中使用此应用程序时,没有任何显示。
Dart2JS 编译器给了我以下输出:

[来自 Dart2JS 的信息]:花费 0:00:05.747000 编译部门|web/index.html_bootstrap.dart。构建成功完成

当我不通过注释导入我的 crud-td 组件时

该应用程序工作得很好。

我现在唯一的解决方案是停止使用我的扩展 td 组件,而是
用 divs/spans 替换它。

是否有解决我的问题的解决方案,或者是否有任何未来的更新计划可以解决这个问题,以便现在我可以继续使用我的扩展 td 组件?

0 投票
2 回答
364 浏览

dart - 聚合物元素在 pub 构建后不起作用 - 我是不是忘记了什么?

所以我的 Polymer.Dart 项目在 Chromium 中运行良好(在 Dart 代码上运行)但是当我发布升级和发布构建时,采样器支架继续工作,但纸张按钮、纸张对话框、纸张进度......元素只是没有出现!

我的 HTML 文件看起来像这样

教育.dart

发布规范.yaml

pub build 在这些文件上没有给我任何警告或错误,但我肯定错过了一些东西吗?