簡體   English   中英

DartEditor Pub Build谷歌應用引擎

[英]DartEditor Pub Build google app engine

我已經在Dart中編寫了一個webapp。 在服務器端,我使用DartForce MVC框架,在客戶端端,我使用AngularDart。 如果我在DartEditor中構建,則會收到此錯誤

[Info from Dart2JS]:
Compiling dartrest|web/main.dart...
[Dart2JS on dartrest|web/main.dart]:
1 warning(s) suppressed in package:route_hierarchical.
[Dart2JS on dartrest|web/main.dart]:
1 warning(s) suppressed in package:angular.
[Info from Dart2JS]:
Took 0:00:14.278144 to compile dartrest|web/main.dart.
[Info from Dart2JS]:
Compiling dartrest|bin/server.dart...
[Dart2JS]:
bin/server.dart:


****************************************************************
* WARNING: dart:mirrors support in dart2js is experimental,
*          and not recommended.
*          This implementation of mirrors is incomplete,
*          and often greatly increases the size of the generated
*          JavaScript code.
*
* Your app imports dart:mirrors via:
*   server.dart => package:forcemvc => dart:mirrors
*   server.dart => package:forcemvc => package:mustache4dart => dart:mirrors
*   server.dart => package:forcemvc => package:forcemirrors => dart:mirrors
*   server.dart => package:forcemvc => package:wired => dart:mirrors
*   server.dart => package:forcemvc => package:wired => package:forcemirrors => dart:mirrors
*   server.dart => package:mustache4dart => dart:mirrors
*   server.dart => package:appengine => package:gcloud => package:http => dart:mirrors
*   server.dart => package:appengine => package:gcloud => package:googleapis => package:http => dart:mirrors
*   server.dart => package:appengine => package:gcloud => dart:mirrors
*   server.dart => package:appengine => package:http => dart:mirrors
*   server.dart => package:appengine => package:googleapis_auth => package:http => dart:mirrors
*
* Starting with Dart 1.9, you must use the
* --enable-experimental-mirrors command-line flag to opt-in.
* You can begin using this flag now if mirrors support is critical.
*
* To learn what to do next, please visit:
*    http://dartlang.org/dart2js-reflection
****************************************************************


[Error from Dart2JS on dartrest|bin/server.dart]:
packages/forcemvc/server/serving_files.dart:46:71:
Experimental language feature 'async/await' is not supported.
  Future serveFile(HttpRequest request, String root, String fileName) async {
                                                                      ^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/forcemvc/server/web_application.dart:163:68:
Experimental language feature 'async/await' is not supported.
  Future _send_template(HttpRequest req, Model model, String view) async {
                                                                   ^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/forcemvc/render/view_render.dart:36:45:
Experimental language feature 'async/await' is not supported.
  Future<String> render(String view, model) async {
                                            ^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/forcemvc/render/view_render.dart:64:46:
Experimental language feature 'async/await' is not supported.
  Future<String> _readFile(File file, model) async {
                                             ^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/gcloud/service_scope.dart:80:33:
Symbol literal '#_gcloud.service_scope' is currently unsupported by dart2js.
const Symbol _ServiceScopeKey = #_gcloud.service_scope;
                                ^^^^^^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/appengine/api/users.dart:39:15:
Symbol literal '#_appengine.users' is currently unsupported by dart2js.
  ss.register(#_appengine.users, service);
              ^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/appengine/api/logging.dart:61:15:
Symbol literal '#_appengine.logging' is currently unsupported by dart2js.
  ss.register(#_appengine.logging, service);
              ^^^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/gcloud/http.dart:13:40:
Symbol literal '#_gcloud.http' is currently unsupported by dart2js.
const Symbol _authenticatedClientKey = #_gcloud.http;
                                       ^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/appengine/api/memcache.dart:19:15:
Symbol literal '#_appengine.memcache' is currently unsupported by dart2js.
  ss.register(#_appengine.memcache, service);
              ^^^^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/appengine/api/modules.dart:77:15:
Symbol literal '#_appengine.modules' is currently unsupported by dart2js.
  ss.register(#_appengine.modules, service);
              ^^^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/gcloud/storage.dart:67:28:
Symbol literal '#_gcloud.storage' is currently unsupported by dart2js.
const Symbol _storageKey = #_gcloud.storage;
                           ^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/gcloud/datastore.dart:17:30:
Symbol literal '#_gcloud.datastore' is currently unsupported by dart2js.
const Symbol _datastoreKey = #_gcloud.datastore;
                             ^^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/gcloud/db.dart:21:23:
Symbol literal '#_gcloud.db' is currently unsupported by dart2js.
const Symbol _dbKey = #_gcloud.db;
                      ^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/appengine/appengine.dart:26:35:
Symbol literal '#_appengine.context' is currently unsupported by dart2js.
const Symbol _APPENGINE_CONTEXT = #_appengine.context;
                                  ^^^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/forcemvc/server/web_application.dart:92:55:
Experimental language feature 'async/await' is not supported.
  Future _resolveStatic(HttpRequest req, String name) async {
                                                      ^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/appengine/api/users.dart:48:42:
Symbol literal '#_appengine.users' is currently unsupported by dart2js.
UserService get userService => ss.lookup(#_appengine.users);
                                         ^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/appengine/api/memcache.dart:28:43:
Symbol literal '#_appengine.memcache' is currently unsupported by dart2js.
Memcache get memcacheService => ss.lookup(#_appengine.memcache);
                                          ^^^^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/appengine/api/modules.dart:86:48:
Symbol literal '#_appengine.modules' is currently unsupported by dart2js.
ModulesService get modulesService => ss.lookup(#_appengine.modules);
                                               ^^^^^^^^^^^^^^^^^^^
[Error from Dart2JS on dartrest|bin/server.dart]:
packages/appengine/api/logging.dart:70:41:
Symbol literal '#_appengine.logging' is currently unsupported by dart2js.
Logging get loggingService => ss.lookup(#_appengine.logging);
                                        ^^^^^^^^^^^^^^^^^^^
[Info from Dart2JS]:
Took 0:00:02.513900 to compile dartrest|bin/server.dart.
Build failed.

如果我用

pub build

放入我的項目文件夾中,這將生成不完整的版本:僅生成Web文件夾。

這是我的pubspec.yaml

name: dartrest
dependencies:
  angular: 1.0.0
  appengine: '>=0.2.4 <0.3.0'
  browser: any
  forcemvc:
    git: 'https://github.com/ForceUniverse/dart-forcemvc'
  http_server: '>=0.9.3 <0.10.0'
  logging: '>=0.9.0 <0.10.0'
  web_components: '>=0.9.0 <1.0.0'
dev_dependencies:
  mock: '>=0.11.0+2 <0.12.0'
  unittest: '>=0.11.0+5 <0.12.0'
transformers:
- angular:
    dart_sdk: /usr/lib/dart
    html_files:
    - lib/component/custom.html

有任何想法嗎?

DartEditor似乎無法將特定的文件夾傳遞給pub build命令。 您能否在http://dartbug.com/new上創建錯誤報告。

如果只創建了build/web文件夾,那很好。
服務器代碼可以按原樣部署。 有一個試驗性的dart2dart選項(請參閱在Apache Server上運行Dart WebApp ),但是對於當前設置Managed VMs開發方式而言,無需構建就可以部署bin目錄( gcloud preview app run app.yaml默認)。

更新

因為轉換器對於服務器端代碼也很重要,所以運行pub build web bin有意義,但僅Dart2JS轉換器對bin沒有意義。

解決方法是添加此變壓器配置

transformers:
- $dart2js:
    $exclude: bin/**.dart

到您的pubspec.yaml文件。

據我所知,如果您還有其他人(例如angulardismoke ,...), $dart2js變壓器應該是列表中的最后一個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM