3 回答
TA贡献1862条经验 获得超7个赞
这里的解决方案是使用 TypeScriptexport =命令。这允许您使用require或import与模块一起使用。
export = function () {
console.log("Hello World");
};
import myModule from "./lib/myModule";
// OR
const myModule = require("./lib/myModule");
有关更多信息,TypeScript 文档有一个关于从 JavaScript 迁移的指南,特别是一个名为从模块导出的部分。
TA贡献1825条经验 获得超4个赞
打字稿中最准确的替换module.exports是export default
export default {
"thing1": require("./a.js"),
"thing2": require("./b.js")
}
然后你可以像下面这样使用它们
import myThings from '.....'
TA贡献1873条经验 获得超9个赞
Typescript 建议不要重写代码,而是将其配置为允许 js 模块。
当我们将一个非常大的应用程序从 js 转换为 TS 时,我们采取了在 TS 中编写新代码的立场,并慢慢地将 js 转换为 ts(但不会花费大量时间来转换)。
我们需要在 tsconfig.json 中启用几个选项,例如:
{
...,
"compilerOptions" : {
...
"moduleResolution": "node",
"allowJs": true,
...
},
"include" [
"path/to/my/js",
]
}
您还需要更新您的webpack.config.js:
module.exports = {
// ... my settings
resolve: {
// Add '.ts' and '.tsx' as resolvable extensions.
extensions: ["", ".webpack.js", ".web.js", ".ts", ".tsx", ".js"]
},
}
您可能还必须将其声明require为函数(如果您遇到诸如 之类的错误require is undefined):
declare function require(path: string): any;
更多信息可在此处获得: https ://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html
添加回答
举报