我目前正在尝试为TypeScript REST消费者设置开发环境,并遇到以下问题:当Typings的引用放置在.ts源文件中时,编译器似乎会感到不满,但是当我尝试通过tsconfig.json中的单个.d.ts文件来管理我的引用时,它完全忽略了它们。
在尝试编译以下代码时,我遇到了错误TS2307:找不到模块“request”
:
import * as request from 'request';
module HTTPClient {
...
}
这是我的tsconfig.json文件:
{
"compilerOptions": {
"jsx": "react",
"module": "commonjs",
"noImplicitAny": true,
"noEmitOnError": true,
"outDir": "./build/",
"preserveConstEnums": true,
"removeComments": true,
"target": "ES5",
"declarationFiles": true,
"moduleResolution": "classic"
},
"exclude": [
"./node_modules",
"./build",
"./tests"
],
"include": [
"./src/ts/**/*",
"./typings/main.d.ts"
]
}
这是我使用的gulp代码来编译和打包所有内容:
var typescriptProject = typescriptCompiler.createProject(project['tsconfig'], { typescript: typescript });
gulp.task(
'compile-ts',
function () {
return gulp
.src([ project['ts'] + '**/*{ts, tsx}' ])
.pipe(typescriptCompiler(typescriptProject))
.js
.pipe(gulp.dest(output['js']));
}
);
gulp.task(
'bundle-js',
function () {
return browserify(output['js'] + 'main.js')
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest(output['web']));
}
);
我已经安装并引用了typings/main.d.ts
中的“Request”环境定义。这是否与我使用browserify解析模块的方式有关?非常感谢您的帮助。