Cai*_*pos 7 momentjs visual-studio-2015 typescript2.0
好吧,我关于SO的第一个问题,多么令人兴奋!:)
我试图让MomentJS定义与Typescript 2.0一起使用.
我只是通过这样做,在使Angular定义工作方面没有任何问题npm install @types/angular --save-dev.
但是,MomentJS(2.15.1)已moment.d.ts作为安装时获得的软件包的一部分附带.
如果你尝试对角度进行类似的处理,也就是说npm install @types/moment --save-dev,这就是你得到的:
npm WARN弃用@ types/moment @ 2.13.0:这是Moment的存根类型定义(https://github.com/moment/moment).Moment提供了自己的类型定义,因此您不需要安装@ types/moment!
当然,如果你去node_modules\@types\moment,那里没什么用处.
是的,我已将tsconfig.json文件添加到我的根文件夹中,因此Typescript 2.0将自动获取node_modules上的@types(这就是Angular正常工作的原因),但对于MomentJS,我得到以下错误(因为.d.ts不是在TS2预期的地方):
TS2304找不到名字'时刻'.
我也试过玩"typeRoots"配置tsconfig.json而没有任何运气.
这是我的相关部分package.json:
{
"devDependencies": {
"@types/angular": "^1.5.16"
},
"dependencies": {
"moment": "^2.15.1"
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用VS2015,如果这很重要的话.
那么......关于如何让Typescript 2.0读取Moment的类型定义的任何想法,它都位于"意外"文件夹中?
我在其他地方找到了(但不记得在哪里),你应该
通过将导出语句替换为来更改 moment.d.ts
declare module 'moment' {
export default moment;
}
Run Code Online (Sandbox Code Playgroud)
使用以下行将虚拟文件 fixmoment.ts 添加到您的项目中
import * as moment from 'moment';
Run Code Online (Sandbox Code Playgroud)
现在直接使用 tsc 编译可以编译所有文件。不幸的是VS2015仍然给出错误 tsc:错误TS2688:Build:找不到'moment'的类型定义文件。 我不明白。
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |