我目前在index.ts中有以下代码
export default (name: string): string => {
return 'Hi ' + name;
}
编译后的index.js必须作为结果
module.exports = (name) => {
return 'Hi ' + name:
}
然而,无论我尝试什么,它总是返回我与
exports.default = (function(name) => {
return 'Hi' + name;
})
- 包.json*
{
"compilerOptions": {
"module": "commonjs",
"outDir": "dist/cjs",
"target": "ES5",
"allowJs": true,
"allowSyntheticDefaultImports": true,
"baseUrl": "src",
"declaration": true,
"esModuleInterop": true,
"inlineSourceMap": false,
"lib": ["esnext"],
"listEmittedFiles": false,
"listFiles": false,
"moduleResolution": "node",
"noFallthroughCasesInSwitch": true,
"pretty": true,
"resolveJsonModule": true,
"rootDir": "src",
"skipLibCheck": true,
"strict": true,
"traceResolution": false,
"types": ["node"],
"ignoreDeprecations": "5.0"
}
1条答案
按热度按时间crcmnpdw1#
不能简单地用
require("package")()
调用export default
函数,因为export default
在js中被翻译为所以你应该用
require("package").default("name")
调用这个箭头函数。请记住,
exports
是module.exports
的别名然而,有一个“技巧”可以在没有
.default
的情况下调用它,重新绑定export
:这被翻译成
让我们试试看: