Javascript typescript/es6+;browserify&x2B;babelify:导出不可见
我正在尝试开发一个用Typescript编写的库,并将其转换成一个独立的es5包。如果我只使用一个.ts,它就会工作。否则就不行了 下面是一个不起作用的例子 src/A.tsJavascript typescript/es6+;browserify&x2B;babelify:导出不可见,javascript,typescript,ecmascript-6,browserify,babeljs,Javascript,Typescript,Ecmascript 6,Browserify,Babeljs,我正在尝试开发一个用Typescript编写的库,并将其转换成一个独立的es5包。如果我只使用一个.ts,它就会工作。否则就不行了 下面是一个不起作用的例子 src/A.ts export function fun1() { return "fun1"; } export function fun2() { return "fun2"; } (function(f){if(typeof exports... "use strict"; Object.defineProper
export function fun1() {
return "fun1";
}
export function fun2() {
return "fun2";
}
(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)
});
src/B.ts
export function fun1() {
return "fun1";
}
export function fun2() {
return "fun2";
}
(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)
});
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>
生成的lib.js
export function fun1() {
return "fun1";
}
export function fun2() {
return "fun2";
}
(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)
});
我得到的错误消息是:uncaughttypeerror:pizza.fun1不是函数
,只有fun2
在pizza
对象中可见
导出类blah
我不太喜欢的一个解决方案是创建一个公开api的Facade对象。e、 g.
export-class Facade{public-fun(){return-fun1()+fun2();}
what-use-babel而不仅仅是使用tsify?一个我不太喜欢的解决方案是创建一个公开api的Facade对象。例如export-class Facade{public-fun(){return fun1()+fun2();}
为什么要使用babel而不仅仅使用tsify?