我试着按照Angular 2的official AoT guide,我用力矩.在我的应用程序中使用js.片刻js在我的packages.json文件中,我使用的是2.15.0版.到目前为止,我一直在这样导入它:

import * as moment from 'moment';

但当我到达必须运行汇总的部分时,我最终会出现以下错误:

无法调用命名空间('时刻')

这似乎与我根据this导入力矩的方式有关.那么,我该怎么做呢?

import moment from 'moment'

我得到了编译错误

外部模块"时刻"没有默认导出

推荐答案

我终于摆脱了这两个错误.确实要避免:

无法调用命名空间('时刻')

你需要使用:

import moment from 'moment'

然后避免

"时刻"没有默认导出

你必须把它添加到你的tsconfig中.json(编译器选项):

"allowSyntheticDefaultImports": true

EDIT 17/11/2016

我还必须在汇总配置中添加以下内容.js文件:

plugins: [
  nodeResolve({jsnext: true, module: true}),
  commonjs({
    include: [
        'node_modules/rxjs/**',
        'node_modules/moment/**'
      ]
    }
  }),
  uglify()
]

Typescript相关问答推荐

类型脚本不会推断键的值类型

TS 2339:属性切片不存在于类型DeliverableSignal产品[]上>'

防止获取发出不需要的请求

Angular中的其他服务仅获取默认值

将props传递给子组件并有条件地呈现它''

泛型和数组:为什么我最终使用了`泛型T []`而不是`泛型T []`?<><>

如何根据模板类型实现不同的模板函数行为?

键集分页顺序/时间戳上的筛选器,精度不相同

基于键的值的打字动态类型;种类;

Angular 信号:当输入信号改变值时,S触发取数的正确方式是什么?

Angular 错误NG0303在Angular 项目中使用app.Component.html中的NGFor

无法绑定ngModel.条件ngSwitchCase中的错误

适当限制泛型函数中的记录

vue-tsc失败,错误引用项目可能无法禁用vue项目上的emit

跟踪深度路径时按条件提取嵌套类型

为什么TypeScrip假定{...省略类型,缺少类型,...选取类型,添加&>}为省略类型,缺少类型?

垫子工具栏不起作用的Angular 布线

使用&reaction测试库&如何使用提供程序包装我的所有测试组件

在打印脚本中将对象类型转换为数组

如何以类型安全的方式指定键的常量列表,并从该列表派生所挑选的接口?