typescript / es6 + browserify + babelify:export不可见

时间:2015-09-16 20:03:55

标签: javascript typescript ecmascript-6 browserify babeljs

我正在尝试开发一个用Typescript编写的库,并转换成一个独立的es5包。如果我只使用一个.ts,它就可以工作。其他没有它没有。

下面是一个不起作用的例子。

的src / A.ts

export function fun1() {
    return "fun1";
}

的src / B.ts

export function fun2() {
    return "fun2";
}

E2E / index.html中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

<script src="lib.js"></script>
<script>
    console.log("fun1: " + pizza.fun1());
    console.log("fun2: " + pizza.fun2());
</script>
</body>
</html>

的package.json

"build-js": "tsc ./src/**.ts -t es6 --outDir ./dist/es6/ && browserify -d --s pizza -t babelify ./dist/es6/**.js -o ./dist/lib.js"

生成了lib.js

(function(f){if(typeof exports...
"use strict";

Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fun1 = fun1;

function fun1() {
    return "fun1";
}

},{}],2:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.fun2 = fun2;

function fun2() {
    return "fun2";
}

},{}]},{},[1,2])(2)
});

我收到的错误消息为:Uncaught TypeError: pizza.fun1 is not a functionfun2对象中只显示pizza

  1. 知道为什么fun1不可见以及如何让它可见?
  2. 建议的解决方案也应该稍后使用Typescript export class blah

0 个答案:

没有答案