typescript - TypeScript 项目无法编译为正确的 index.js
问题描述
我正在尝试在这里构建TypeScript 项目
git clone https://github.com/simpleledger/BitcoinFilesJS.git test/
cd test
npm i
tsc # or npx tsc
index.js
创建的是这样的:
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./lib/bfp"), exports);
__exportStar(require("./lib/utils"), exports);
//# sourceMappingURL=index.js.map
但是,如果我将项目安装在带有 的新目录中npm i bitcoinfiles
,则 index.js 为:
let bfp = require('./lib/bfp');
let utils = require('./lib/utils');
let network = require('./lib/network');
module.exports = {
bfp: bfp,
utils: utils,
network: network
}
什么可能导致 TypeScript 生成我不干净的 index.js?此外,它们不起作用。如您所见,不洁index.js
并没有定义module.exports
解决方案
我刚刚通过运行在https://github.com/simpleledger/BitcoinFilesJS/tree/0.5.0签出带有发布标记的代码成功地重新创建了 index.jsnpm run build
let bfp = require('./lib/bfp');
let utils = require('./lib/utils');
let network = require('./lib/network');
module.exports = {
bfp: bfp,
utils: utils,
network: network
}
请注意,任何 repo 的 main/master 分支都可能是正在进行的工作,并且发布的版本可能会有所不同。目前,这个 repo 的主要分支似乎针对 ES5,它的转译方式不同。
目前这只能通过手动创建目录成功构建,dist
并且可能需要手动安装typescript
,browserify
我猜它只是全局安装在作者机器上,所以他们没有意识到他们缺少这些依赖项。
推荐阅读
- javascript - 如何在对象 HTMLInputElement 上使用查询选择器
- powerbi - DAX PowerBI - 基于数据类型的动态测量
- cmake - 如何在 cmake 中为 OpenCV 启用 GTK+?
- jquery - 修复对完整日历获取资源的多次请求
- python - 如何在不丢失格式的情况下在新电子邮件中发送现有消息
- python - 将值从一个 Tkinter 帧保存到另一个
- c++ - 如何在自己的班级中重载“+”和“<<”运算符
- javascript - 单击其中的组件时触发 onClick 处理程序
- chart.js - 如何制作多个堆叠图表以共享相同的 yAxis?
- python - 附加数组时 Numpy 返回错误的问题