Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何生成代码以导出Dart中节点的函数?_Dart_Dart2js - Fatal编程技术网

如何生成代码以导出Dart中节点的函数?

如何生成代码以导出Dart中节点的函数?,dart,dart2js,Dart,Dart2js,(我在dart2js中无法实现这一点,所以我尝试在dart开发编译器中实现;但我很乐意为dart2j找到答案!) 如果我有test.dart: void activate() { print("activating..."); } 然后运行dartdevc--modules节点-o test.js test.dart输出为: (function() { 'use strict'; const dart_sdk = require('dart_sdk'); const core

(我在dart2js中无法实现这一点,所以我尝试在dart开发编译器中实现;但我很乐意为dart2j找到答案!)

如果我有
test.dart

void activate() {
  print("activating...");
}
然后运行
dartdevc--modules节点-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;
})();
这意味着我的函数被导出为
\u test.activate
,但我需要的是它只被
activate

我怎样才能控制这一切?JS I的目标与此相当:

exports.activate = function() { core.print("activating"); }
但我用包装纸解决了这个问题:

var extension = require('./dartvsjs/extension.js');

exports.activate = extension.__lib__extension.activate;
exports.deactivate = extension.__lib__extension.deactivate;
但我用包装纸解决了这个问题:

var extension = require('./dartvsjs/extension.js');

exports.activate = extension.__lib__extension.activate;
exports.deactivate = extension.__lib__extension.deactivate;