Pen*_*ryn 5 javascript import arguments node.js typescript
我将遗留代码转换为Typescript,许多其他模块依赖于签名
var x = require("./someModule.js")(args);
Run Code Online (Sandbox Code Playgroud)
在Node.js中,可以执行以下操作:
moduleHello.js
module.exports = function (message) {
console.log("I'm a module and I say " + message);
}
Run Code Online (Sandbox Code Playgroud)
main.js
require("./moduleHello.js")("Hello!"); // Should print "I'm a module and I say Hello!"
Run Code Online (Sandbox Code Playgroud)
我试过export在Typescript中使用关键字,但看起来你不能干净地写它如下:
moduleHello.ts
export function sayHello (message) {
console.log("I'm a module and I say " + message);
}
Run Code Online (Sandbox Code Playgroud)
main.ts
// Does not work, error TS1005: ';' expected.
import someVar = require("moduleHello")("I wish this worked");
// Also I'd probably have to call someVar.sayHello() instead, which I'm trying to avoid.
Run Code Online (Sandbox Code Playgroud)
我可以在Typescript中编写单行"require with arguments"来保持与我的旧模块的兼容性吗?或者我是否必须回到Javascript?
提前致谢.
您可以使用export =语法将函数分配给导出。
所以:
模块Hello.ts
function sayHello (message) {
console.log("I'm a module and I say " + message);
}
export = sayHello;
Run Code Online (Sandbox Code Playgroud)
这将生成 jsmodule.exports = sayHello;
您的 main.ts 代码现在将能够请求该函数
import sayHello = require("moduleHello");
sayHello("This will work");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
761 次 |
| 最近记录: |