是否可以在打字稿中使用 nodejs 样式模块
Is it possible to use nodejs style modules in typescript?
在节点中,我可以通过设置exports
对象的属性来定义这样的模块:
模块.js
exports.fun = function (val) {
console.log(val);
};
并使用var module = require('module')
in并使用module.fun()
功能来请求它。
是否可以像这样在 TypeScript 中定义模块:
模块.ts
exports.fun = function (val :string) {
console.log(val);
};
然后使用类似 Node 的语法将模块导入其他文件,例如import module = require('module.ts')
,以便它编译为 nodeJS,但是,如果现在我在某个 .ts
文件中使用 module.fun()
,如果参数与 module.ts 文件中指定的类型不匹配,它应该给我一个错误。
如何在打字稿中执行此操作?
是的,可以使用真正的js语法。您收到错误,因为您使用的是 import
关键字,该关键字期望导入的文件使用 export
关键字。 如果你想要 js exports.foo
语法,你应该使用 var
而不是导入。以下内容将很好地编译/工作:
var module = require('module.ts')
你基本上描述了TypeScript中的外部模块是如何工作的。
例如:
动物网
export class Animal {
constructor(public name: string) { }
}
export function somethingElse() { /* etc */ }
动物园
import a = require('./Animals');
var lion = new a.Animal('Lion'); // Typechecked
console.log(lion.name);
使用 --module commonjs
编译并在节点中运行 zoo.js。
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- nodejs-expressjs上传图像并显示它们
- 将样式表插入iframe
- 跟踪在页面加载时应用内联样式的JavaScript
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 定义完全独立的样式信息
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- W3C循环样式的JavaScript
- jQuery/JavaScript在线公文包表单-打印样式表
- NodeJS日期格式不起作用
- 使用递归、Ramda.js和无点样式重构字符串的getPermutations()
- Nested Q.all nodejs
- FF和Chromium中CSS样式按钮的外观差异
- Nodejs API控制器,用于在API之间切换
- Haxe->CommonJs(NodeJs)样式输出的Javascript目标
- Nodejs 快速路由:如果添加了“/”,则没有样式
- 是否可以在打字稿中使用 nodejs 样式模块
- Nodejs从页面请求中获取所有需要的脚本和样式表路由(无需浏览器)
- Nodejs和less - pick样式表源基于子域