【问题标题】:How can I generate code to export functions for node in Dart?如何生成代码以导出 Dart 中节点的函数?
【发布时间】:2016-07-29 16:07:02
【问题描述】:

(我无法在 dart2js 中使用它,所以我正在尝试使用 dart dev 编译器;但我很乐意为 dart2j 提供答案!)。

如果我有test.dart:

void activate() {
  print("activating...");
}

运行dartdevc --modules node -o test.js test.dart,输出为:

(function() {
  'use strict';
  const dart_sdk = require('dart_sdk');
  const core = dart_sdk.core;
  const dart = dart_sdk.dart;
  const dartx = dart_sdk.dartx;
  const __test = Object.create(null);
  let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))();
  __test.activate = function() {
    core.print("activating...");
  };
  dart.fn(__test.activate, VoidTovoid());
  // Exports:
  exports.__test = __test;
})();

这意味着我的函数导出为__test.activate,但我需要的是它只是activate

我该如何控制呢?我的目标是 JS:

exports.activate = function() { core.print("activating"); }

【问题讨论】:

    标签: dart dart2js


    【解决方案1】:

    这个isn't currently possible 但我用一个包装器解决了它:

    var extension = require('./dartvsjs/extension.js');
    
    exports.activate = extension.__lib__extension.activate;
    exports.deactivate = extension.__lib__extension.deactivate;
    

    【讨论】:

      猜你喜欢
      • 2022-08-12
      • 1970-01-01
      • 2019-06-19
      • 2020-02-29
      • 1970-01-01
      • 2018-12-29
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      相关资源
      最近更新 更多