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
添加回答
舉報