我想学打字原稿。 虽然我不认为这是相关的,我使用VSCode这个演示。
我有一个package.json
,在它具有以下部分:
{
"devDependencies": {
"gulp": "^3.9.1",
"jspm": "^0.16.33",
"typescript": "^1.8.10"
},
"jspm": {
"moment": "npm:moment@^2.12.0"
}
}
然后,我有一个打字稿类main.js
是这样的:
import moment from 'moment';
export class Main {
}
我gulpfile.js
看起来是这样的:
var gulp = require('gulp');
var typescript = require('gulp-tsb');
var compilerOptions = {
"rootDir": "src/",
"sourceMap": true,
"target": "es5",
"module": "amd",
"declaration": false,
"noImplicitAny": false,
"noResolve": true,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true
};
var typescriptCompiler = typescript.create(compilerOptions);
gulp.task('build', function() {
return gulp.src('/src')
.pipe(typescriptCompiler())
.pipe(gulp.dest('/dest'));
});
当我运行一饮而尽构建,我得到的消息: "../main.ts(1,25): Cannot file module 'moment'."
如果我使用import moment = require('moment');
然后JSPM会工作,并在模块中带来的,当我运行应用程序,但我仍然收到生成错误。 我也尝试:
npm install typings -g
typings install moment --ambient --save
而不是使问题虽然比较好,它变得更糟。 现在,我得到的构建上面的错误,以及以下内容: "../typings/browser/ambient/moment/index.d.ts(9,21): Cannot find namespace 'moment'."
如果我去的分型和提供的文件添加到文件底部:
declare module "moment" { export = moment; }
我可以得到第二个错误去了,但我仍然需要在需要语句获取时刻在我的工作main.ts
文件和我仍然得到第一生成错误。
我是否需要创建自己的.d.ts
文件一刻还是有只是一些设置一块我失踪?