这里发生了奇怪的事情,使用TypeScript 2.7.2,在带有@ types/express的VSCode版本1.21和随后的代码中,在某些情况下,VSCode会抛出错误,指出"无法调用或构造名称空间样式的导入,并将导致在运行时失败." 但是在具有类似设置和类似tsconfig.json文件的其他机器上,代码才有效..这里发生了什么:
import { Bank } from './Bank';
import * as Express from 'express'; <== errors here..
let app: Express.Express;
this.app = Express(); <== and here
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
TIA,
约翰.
我用角6进口了一下:
import moment from 'moment'
Run Code Online (Sandbox Code Playgroud)
和
let formatted = moment(startDate).tz(timezone).format();
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常...但ng服务输出以下错误:
Module '"/my/project/node_modules/moment/moment"' has no default export.
Run Code Online (Sandbox Code Playgroud)
好的,我理解这个错误; 它说那个时刻不会被导出为默认值...但是当我尝试以这种方式导出时:
import { moment } from 'moment'
Run Code Online (Sandbox Code Playgroud)
但是,错误说,那个时刻实际上是一个对象,而不是一个功能.
它的第一步是如何工作的呢?我应该如何导入"时刻"?
更新 我也按照其他问题的建议尝试了......
import * as moment from 'moment';
Run Code Online (Sandbox Code Playgroud)
但是我得到了以下结果:
ERROR in node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11): error TS2451: Cannot redeclare block-scoped variable 'ngDevMode'.
node_modules/angular-moment-timezone/node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11): error TS2451: Cannot redeclare block-scoped variable 'ngDevMode'.
Run Code Online (Sandbox Code Playgroud)