我看到了很多将.js迁移到.ts的示例,但我仍然不了解什么是最好的迁移模块的方法。
示例:
'use strict';
module.exports = class Ticker {
private time: any;
constructor(lookbacks) {
this.time = lookbacks;
}
};
谢谢
答案 0 :(得分:2)
您想将内容移动到ES Modules。
没有一种有趣的方式来自动移动所有内容,但是幸运的是,TypeScript还支持旧的module.exports =
语法,因此您可以随意迁移。
ES模块的要点:
// a.js
module.exports = class Foo {}
// b.js
module.exports.one = 1;
module.exports.two = true;
module.exports.three = function three() {};
module.exports.four = class Four {};
// c.js
const Foo = require('./a');
const { one, two, three, four } = require('./b');
// or
// const bModule = require('./b');
// bModule.three();
成为
// a.ts
export default class Foo {}
// b.ts
export const one = 1;
export const two = true;
export function three() {};
export class Four {}
// c.ts
import Foo from './a';
import { one, two, three, four } from './b';
// or
// import * as bModule from './b';
// bModule.three();
export = something
和import x = require()
),您不应在新项目中使用它们。module.exports = whatever
和export default whatever
并非严格等效,您必须重构所有module.exports
以及相应的require()
调用。