相关疑难解决方法(0)

无法调用或构造名称空间样式的导入,并且会在运行时导致失败

这里发生了奇怪的事情,使用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,

约翰.

express typescript typescript-typings

30
推荐指数
2
解决办法
1万
查看次数

在Angular 6中导入时刻

我用角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)

javascript momentjs angular

0
推荐指数
1
解决办法
3392
查看次数