我将 TypeScript 与 Express/Node.js 结合使用。
对于使用模块,TypeScript 手册显示了以下语法:
import express = require('express');
但也typescript.d.ts
文件显示:
import * as express from "express";
我也搜索了 MSDN 博客,但没有找到任何内容。
截至 2016 年初,哪一个更正确?如果有的话,两者之间有什么区别?
哪里是查找有关要使用的最新语法的信息的最佳来源,以便我将来可以找到此信息?
这些大多是等效的,但是import *
有一些限制import ... = require
没有。
import * as
创建一个标识符,它是模块对象, 强调object。根据 ES6 规范,该对象永远不可调用或new
能够 - 它只有属性。如果您尝试导入函数或类,您应该使用
import express = require('express');
或(取决于您的模块加载器)
import express from 'express';
尝试使用import * as express
然后调用express()
根据 ES6 规范,始终是非法的。在某些运行时+转译环境中,无论如何这可能会起作用,但它可能在未来的任何时候在没有警告的情况下中断,这会让你感到难过。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)